1、输出堆内存中每类对象的数量和占用内存大小
jcmd <pid> GC.class_histogram >gcclass.txt
输出文件示例
num #instances #bytes class name
----------------------------------------------
1: 49531019 5169286304 [Ljava.lang.Object;
2: 84366925 3374677000 com.*******
3: 49584019 1983360760 java.util.ArrayList
4: 58265504 1398372096 com.*******
5: 7935713 1261279208 [B
6: 19879449 795177960 com.*******
7: 18946923 757876920 com.*******Group
8: 15971394 702144120 [C
9: 7931426 634514080 com.*******29969
10: 22673661 544167864 java.lang.Long
11: 15970150 511044800 java.lang.String
12: 4911356 471490176 com.*******nceColor
13: 7920144 443528064 com.*******htVo
14: 17373007 416952168 java.lang.Integer
15: 12247300 293935200 java.lang.Float
16: 7931332 253802624 java.*******ue$Node
17: 4629802 148153664 com.*******ghtGroup
18: 1212293 106681784 com.*******lan
19: 898584 50320704 com.*******Status
20: 897911 50283016 com.*******ontrolMode
21: 77144 3702912 java.util.concurrent.ConcurrentHashMap$Node
22: 61607 2957136 java.util.HashMap$Node
23: 992 1399168 [Ljava.util.concurrent.ConcurrentHashMap$Node;
24: 4158 1365872 [Ljava.util.HashMap$Node;
25: 6400 1103824 java.lang.Class
26: 9250 814000 io.netty.buffer.PoolSubpage
27: 8854 566656 java.util.LinkedHashMap$Entry
28: 3165 506400 java.lang.reflect.Method
29: 2745 241560 java.util.LinkedHashMap
30: 3329 217944 [I
31: 1704 204480 java.lang.reflect.Field
或着
jmap -histo <pid> | head -n <num> > histo_top20.txt
num 表示按大小排序输出前num的对象
2、输出gc日志记录
jstat -gc <pid> <time>
# time 输出时间间隔
输出示例
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
0.0 0.0 0.0 0.0 9633792.0 0.0 23920640.0 23920591.7 40704.0 38219.5 0.0 0.0 301 334.254 10 390.309 724.563
3、
jmap -heap <pid>
4、生成堆转储文件 (heap dump)用于内存分析
jmap -dump:live,format=b,file=heap.bin <pid>