2016-05-01 5 views
1

実行中の場合、RESは4.7GBです。-Xmx8gを設定しているので問題ありませんが、hprofファイルにダンプすると約半分ギグファイル。Javaヒープダンプ(hprofファイル)は常駐メモリよりもはるかに小さい

メモリがすべて含まれていないとしますか? ところで、私がGCを強制しても(jcmdを使って)私はまだ4.7Gの居住者を見ています。

+0

http://stackoverflow.com/questions/11666667/heapdump-size-vs-hprof-size – user2494817

+0

私の問題は周囲にあります。私のhprofも小さく、すべてのオブジェクトを含んでいません。とにかく、 'GC.run'を実行した後、フリーの常駐メモリでなければなりません。 – Nati

+0

その説明には600文字以上の長さがかかるため、短くしておく必要があります。あなたは答えの中で説明する方法のいくつかを試すことができますが、もしうまくいかない場合、私はあなたに何を伝えるべきかわかりません(おそらく驚くべき圧縮ですか?:) – user2494817

答えて

0

ヒープダンプファイル(hprof)はメモリダンプではなく、オブジェクトヒープダンプです。これにはJavaオブジェクトのみが含まれます。専用の無料領域をしかしで使用されていない - メモリの非ヒープarreas(例えばコードキャッシュ、メタスペースなど) - - ダンプ に含まれていないいくつかのヒープオブジェクト(例えば、クラス)

ヒープダンプファイルが が含まれていません。ヒープ

あなたのケースでは、おそらく多くの未使用のヒープスペースがあります。 GCは使用済みの領域をOSに返さないため、RESサイズは残ります。4.7G

関連する問題