2

runhprofの出力に興味がありましたか?私は主に記憶の部分に関心があります。同じクラスのエントリが複数あるようです。なぜそうなるのでしょうか。

特定のクラス(そのクラスのインスタンス)がメモリ内で占めるメモリ量をhprofに出力させる方法はありますか?クラスごとに1つの値。

また、出力を分析するために「帽子」のほかにどのツールを使用しますか?

jvmargを使用してjavaコマンドを実行しました。

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

これが出力の簡単な抜粋です。一部のクラスは、出力に複数回リストされます。

SITES BEGIN(ライブバイト順)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 301295clojure.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 246243301069バイト[]
        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 164162301036バイト[]
4

1 に答える 1

2

Eclipseメモリアナライザーは優れています。ダンプファイルを非常に迅速にロードし、ヒープダンプに関する多くの優れたレポートを生成し、SQLのような言語を使用してオブジェクト/クラスのダンプをクエリできます。大好きです。

于 2009-07-29T01:52:58.980 に答える