0
JVMがOutOfMemoryErrorを投げているかどうかを検出するために、jmap outpoutで調べる必要がある値を理解しようとしています。jmapを使用してOutOfMemoryErrorに近いかどうかを確認するにはどうすればよいですか?
jmap -heap pid
の値は(これは近いか100%に達していますか?
JVMがOutOfMemoryErrorを投げているかどうかを検出するために、jmap outpoutで調べる必要がある値を理解しようとしています。jmapを使用してOutOfMemoryErrorに近いかどうかを確認するにはどうすればよいですか?
jmap -heap pid
の値は(これは近いか100%に達していますか?
jmap -heap pid
Heap Usage
という名前のフィールドがあります。
Heap Usage:
PS Young Generation
Eden Space:
capacity = 560988160 (535.0MB)
used = 193192264 (184.24250030517578MB)
free = 367795896 (350.7574996948242MB)
34.43785052433192% used
From Space:
capacity = 40370176 (38.5MB)
used = 40357616 (38.48802185058594MB)
free = 12560 (0.0119781494140625MB)
99.96888792359984% used
To Space:
capacity = 52953088 (50.5MB)
used = 0 (0.0MB)
free = 52953088 (50.5MB)
0.0% used
PS Old Generation
capacity = 783286272 (747.0MB)
used = 35294904 (33.65984344482422MB)
free = 747991368 (713.3401565551758MB)
4.506003138530685% used
ですから、使用量の割合を見ることができます。
どの値を見ますか? OutOfMemoryErrorに達する直前に出力例を提供できますか? –
パーセンテージの合計、特にOldGenerationを確認する必要があります。ヒープはGCサイクルでクリアされるため、直前の時点を言うのは難しいです。しかし、もしあなたの古い世代がおそらく%90-95を上回っているなら、あなたは疑うことができます。 – alpert