У нас есть Java-приложение, и мой вопрос здесь состоит в том, чтобы узнать, когда мне следует брать дамп кучи для конкретной JVM.На каком основании я должен посмотреть на детали использования памяти и взять дамп кучи, чтобы проанализировать его.
Я понимаю, что у каждого Java-процесса есть pid
, который при обнаружении с помощью команды ps
можно использовать с jstat
.Из Jstat Docs я вижу ниже четыре способа узнать подробности использования памяти и мусора -
gc: Displays statistics about the behavior of the garbage collected heap.
gccapacity: Displays statistics about the capacities of the generations and their corresponding spaces.
gccause: Displays a summary about garbage collection statistics (same as -gcutil), with the cause of the last and current (when applicable) garbage collection events.
gcutil: Displays a summary about garbage collection statistics.
Из этих 4 команд и данных, которые они дают, на какие параметры мне смотретьи примите heap dump
, когда некоторые из метрик изменятся.Просьба уточнить.