小编fla*_*lot的帖子

为什么 jmap -histo 的结果与 jmap -dump 不同

最近我遇到了一个GC问题,我使用jmap转储堆。但不幸的是它并没有正常工作;

我在转储之前运行 jmap -histo 3916|more ,结果是

 num     #instances         #bytes  class name
----------------------------------------------
   1:       1784198      733117168  [C
   2:      12210014      390720448  java.util.concurrent.ConcurrentHashMap$Node
   3:      11908601      285806424  java.lang.Long
   4:      11884602      285230448  java.lang.Double
   5:           545       86335608  [Ljava.util.concurrent.ConcurrentHashMap$Node;
   6:         12405       65677584  [I
   7:       1735496       41651904  java.lang.String
Run Code Online (Sandbox Code Playgroud)

然后我运行“jmap -dump:format=b,file=heap.bin 3916”,然后我使用eclipse MemoryAnalyzer来分析heap.bin,它产生了如下的直方图

Class Name                                   |    Objects | Shallow Heap | Retained Heap
-----------------------------------------------------------------------------------------
java.util.concurrent.ConcurrentHashMap$Node  | 12,207,879 |  390,652,128 |              
java.lang.Long                               | 11,889,204 |  285,340,896 |              
java.lang.Double                             | 11,884,164 |  285,219,936 |              
java.util.concurrent.ConcurrentHashMap$Node[]|        347 |   86,311,832 |              
char[]                                       | …
Run Code Online (Sandbox Code Playgroud)

java jvm jmap

1
推荐指数
1
解决办法
1625
查看次数

标签 统计

java ×1

jmap ×1

jvm ×1