Интересно, смогу ли я получить максимальный размер allocated heap
с помощью командной строки VM.
Теперь я могу получить его, используя Netbeans Profiler
, но я предпочитаю получать результат без необходимости запуска дополнительного приложения.
Я также использую этот метод:
public void printMemUsage(){
double currentMemory = ( (double)((double)(Runtime.getRuntime().totalMemory()/1024.0)))- ((double)((double)(Runtime.getRuntime().freeMemory()/1024.0)));
System.out.println("Current memory usage in kilobytes :"+currentMemory);
}
Я думаю, что могу использовать это, чтобы получить максимальный размер кучи, но я не уверен, что это очень надежно.
В настоящее время я использую эти командные строки:
-вербоз: gc -XX: + PrintGCDetails -XX: + PrintGCApplicationConcurrentTime -XX: + PrintGCApplicationStoppedTime
Для того, чтобы получить хорошую информацию о деятельности gc, молодое поколение, старое и постоянное. Но я просто могу сказать текущее общее пространство кучи, когда происходит сбор.
Так есть ли способ получить максимальное пространство кучи, выделенное с помощью других командных строк?