使用工具jstat和jmap

监控jvm进程状态 jstat

jstat -gc pid {间隔时间} {次数} 监控gc情况

 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
1024.0 1024.0  0.0    0.0    8192.0   4436.4   10240.0      0.0     4480.0 786.6  384.0   76.4       0    0.000   0      0.000    0.000
1024.0 1024.0  0.0    0.0    8192.0   6484.4   10240.0      0.0     4480.0 786.6  384.0   76.4       0    0.000   0      0.000    0.000
1024.0 1024.0  0.0   682.0   8192.0    0.0     10240.0     4098.1   4864.0 3048.6 512.0  322.8       1    0.006   0      0.000    0.006
1024.0 1024.0  0.0   682.0   8192.0   2048.0   10240.0     4098.1   4864.0 3048.6 512.0  322.8       1    0.006   0      0.000    0.006
1. S0C:这是From Survivor区的大小
2. S1C:这是To Survivor区的大小
3. S0U:这是From Survivor区当前使用的内存大小
4. S1U:这是To Survivor区当前使用的内存大小
5. EC:这是Eden区的大小
6. EU:这是Eden区当前使用的内存大小
7. OC:这是老年代的大小
8. OU:这是老年代当前使用的内存大小
9. MC:这是方法区(永久代、元数据区)的大小
10. MU:这是方法区(永久代、元数据区)的当前使用的内存大小
11. YGC:这是系统运行迄今为止的Young GC次数
12. YGCT:这是Young GC的耗时
13. FGC:这是系统运行迄今为止的Full GC次数
14. FGCT:这是Full GC的耗时
15. GCT:这是所有GC的总耗时 

堆内存情况

dump 堆: jmap -dump:format=b,file=dump.hprof pid 排查oom保留现场
查看类对象内存占用 jmap -histo pid
查看jvm各区域内存概况: jmap -heap pid

本文来自博客园,作者:mushishi,转载请注明原文链接:https://www.cnblogs.com/mushishi/p/14553122.html

原文地址:https://www.cnblogs.com/mushishi/p/14553122.html