如何监控Eden和Survivor堆空间的使用情况的最佳方法是什么?
我打开了所有GC 日志记录选项,但我只能看到 YoungGen 职业:
-XX:+PrintTenuringDistribution -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=jvm.log -server -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Xloggc:gc.log -XX:+PrintGCTimeStamps -XX:+ PrintGCDetails -showversion -XX:+PrintClassHistogramBeforeFullGC -XX:+PrintClassHistogramAfterFullGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=15
我会使用VisualGC,但在任何地方都找不到它的分布。JDK 自带的 VisualVM 默认发行版没有 VisualGC。指向 VisualGC 站点的VisualGC 插件链接已损坏。
更新: jstat
是我一直在寻找的,特别是:
jstat -gcutil -t <pid> <interval> <number_of_samples>