2009-07-29 46 views
2

我對runhprof輸出感到好奇嗎?我主要關心內存部分。它看起來像是同一類的多個條目。爲什麼會這樣。Java:爲什麼多個對象顯示runhprof輸出?

有沒有辦法讓hprof打印一個特定類(該類的實例)在內存中佔用多少內存。每個班的一個價值。

另外,你在'帽子'旁邊用什麼工具來分析輸出?

我跑java命令與JVM ARG:

-Xrunhprof:堆=站點,深度= 4,格式= A,文件=教授/ 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[] 

回答

2

Eclipse Memory Analyzer非常好。非常快速地加載轉儲文件,生成大量有關heapdump的良好報告,讓您使用類似SQL的語言查詢對象/類的轉儲。愛它。

+0

轉儲文件或從hprof創建的文件。 – 2009-07-29 01:59:28

相關問題