推荐看这个网址:https://mingshan.fun/2018/10/21/monitoring-diagnostic-tools-for-jvm-cmd/
1. 查看JVM堆中对象详细占用情况 jmap -histo [pid]
eg1: jmap -histo 1234 查找进程号为1234的java程序的jvm堆中对象详细占用情况
eg2:
可以看出,其中有两个类的实例比较多,分别是:
- LinkedHashMap$Entry
- ExpiringCache$Entry
2. jstat -gcutil 查看 GC 情况
参考(https://www.cnblogs.com/yjd_hycf_space/p/7755633.html)
- S0:幸存1区当前使用比例
- S1:幸存2区当前使用比例
- E:伊甸园区使用比例
- O:老年代使用比例
- M:元数据区使用比例
- CCS:压缩使用比例
- YGC:年轻代垃圾回收次数
- FGC:老年代垃圾回收次数
- FGCT:老年代垃圾回收消耗时间
- GCT:垃圾回收消耗总时间
eg:
-h每隔几行显示标题,159116 pid ,1000:每隔多少ms显示一次
sudo -u hive jstat -gcutil -h 10 159116 1000
https://www.cnblogs.com/bbox/p/9750361.html