我们有一个Java应用程序,这里的查询是要知道何时应该为特定的JVM进行堆转储。我应该在什么基础上查看内存使用情况的详细信息,并进行堆转储进行分析。
我知道每个Java进程都有一个pid
,当使用ps
命令找到该Java进程时,它会与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
。请澄清。