Java:为什么runhprof输出会显示多个对象?

Java:为什么runhprof输出会显示多个对象?,java,hprof,Java,Hprof,我对runhprof的输出很好奇?我主要关心的是记忆部分。看起来同一类中有多个条目。为什么会这样 有没有办法让hprof打印特定类(该类的实例)在内存中占用了多少内存。每个类一个值 此外,除了“帽子”之外,您还使用什么工具来分析输出 我使用jvm参数运行java命令: -Xrunhprof:heap=sites,depth=4,format=a,file=prof/hprof_dump.txt 下面是输出的简短片段。某些类在输出中多次列出 SITES BEGIN (ordered by live

我对runhprof的输出很好奇?我主要关心的是记忆部分。看起来同一类中有多个条目。为什么会这样

有没有办法让hprof打印特定类(该类的实例)在内存中占用了多少内存。每个类一个值

此外,除了“帽子”之外,您还使用什么工具来分析输出

我使用jvm参数运行java命令:

-Xrunhprof:heap=sites,depth=4,format=a,file=prof/hprof_dump.txt

下面是输出的简短片段。某些类在输出中多次列出

SITES BEGIN (ordered by live bytes) Tue Jul 28 19:33:41 2009 percent live alloc'ed stack class rank self accum bytes objs bytes objs trace name 1 29.75% 29.75% 700080 43755 576000016 36000001 307483 java.lang.Double 2 7.13% 36.88% 167840 5245 370432 11576 300993 clojure.lang.PersistentHashMap$LeafNode 3 2.09% 38.98% 49296 2054 60048 2502 301295 clojure.lang.Symbol 4 2.09% 41.07% 49200 3 49200 3 301071 char[] 5 1.33% 42.40% 31344 1306 68088 2837 300998 clojure.lang.PersistentHashMap$BitmapIndexedNode 6 1.10% 43.50% 25800 645 25800 645 301050 clojure.lang.Var 7 1.05% 44.54% 24624 3 24624 3 301069 byte[] 8 0.86% 45.40% 20184 841 49608 2067 301003 clojure.lang.PersistentHashMap$INode[] 9 0.78% 46.18% 18304 572 58720 1835 301308 clojure.lang.PersistentList 10 0.75% 46.93% 17568 549 17568 549 308832 java.lang.String[] 11 0.70% 47.62% 16416 2 16416 2 301036 byte[] 站点开始(按活动字节排序)2009年7月28日星期二19:33:41 允许堆栈类的活动百分比 秩自累积字节objs字节objs跟踪名称 1 29.75%29.75%700080 43755 576000016 36000001 307483 java.lang.Double 2 7.13%36.88%167840 5245 370432 11576 300993 clojure.lang.PersistentHashMap$LeafNode 3 2.09%38.98%49296 2054 60048 2502 301295 clojure.lang.Symbol 4 2.09%41.07%49200 3 49200 3 301071字符[] 5 1.33%42.40%31344 1306 68088 2837 300998 clojure.lang.PersistentHashMap$BitmapIndexedNode 6 1.10%43.50%25800 645 25800 645 301050 clojure.lang.Var 7 1.05%44.54%24624 3 24624 3 301069字节[] 8 0.86%45.40%20184149608 2067 301003 clojure.lang.PersistentHashMap$INode[] 9 0.78%46.18%18304572 58720183530308 clojure.lang.PersistentList 10 0.75%46.93%17568549 17568549 308832 java.lang.String[] 11 0.70%47.62%164162164162301036字节[]
很好。快速加载转储文件,生成大量关于heapdump的漂亮报告,允许您使用类似SQL的语言查询转储中的对象/类。喜欢它。

是的,我刚刚运行了它。太完美了。谢谢也适用于1.5中的堆转储。