1
実行中の場合、RES
は4.7GBです。-Xmx8g
を設定しているので問題ありませんが、hprofファイルにダンプすると約半分ギグファイル。Javaヒープダンプ(hprofファイル)は常駐メモリよりもはるかに小さい
メモリがすべて含まれていないとしますか? ところで、私がGCを強制しても(jcmdを使って)私はまだ4.7Gの居住者を見ています。
実行中の場合、RES
は4.7GBです。-Xmx8g
を設定しているので問題ありませんが、hprofファイルにダンプすると約半分ギグファイル。Javaヒープダンプ(hprofファイル)は常駐メモリよりもはるかに小さい
メモリがすべて含まれていないとしますか? ところで、私がGCを強制しても(jcmdを使って)私はまだ4.7Gの居住者を見ています。
ヒープダンプファイル(hprof)はメモリダンプではなく、オブジェクトヒープダンプです。これにはJavaオブジェクトのみが含まれます。専用の無料領域をしかしで使用されていない - メモリの非ヒープarreas(例えばコードキャッシュ、メタスペースなど) - - ダンプ に含まれていないいくつかのヒープオブジェクト(例えば、クラス)
ヒープダンプファイルが が含まれていません。ヒープ
あなたのケースでは、おそらく多くの未使用のヒープスペースがあります。 GCは使用済みの領域をOSに返さないため、RESサイズは残ります。4.7G
http://stackoverflow.com/questions/11666667/heapdump-size-vs-hprof-size – user2494817
私の問題は周囲にあります。私のhprofも小さく、すべてのオブジェクトを含んでいません。とにかく、 'GC.run'を実行した後、フリーの常駐メモリでなければなりません。 – Nati
その説明には600文字以上の長さがかかるため、短くしておく必要があります。あなたは答えの中で説明する方法のいくつかを試すことができますが、もしうまくいかない場合、私はあなたに何を伝えるべきかわかりません(おそらく驚くべき圧縮ですか?:) – user2494817