0

IBM JVM で作成した .phd ダンプを Eclipse MAT で解析しています。

「gc_roots」という名前のビューには、次のリストが表示されます。

ここに画像の説明を入力

GC ルートのリストが完全であることを確認できますか?
実行中のスレッドのスタック内のすべてのローカル変数が「不明」セクションに含まれているということですか?

なぜそのような名前が付けられたのですか?

GC ルート リストの完全性に関する私の疑問は、OOM がスローされた時点でヒープにいくつかのかなり大きな弱参照 char バッファーが含まれているという事実に基づいています。SoftReferences も OOM の前にクリアする必要があるため、これは契約違反のようです。

アップデート

これは、同時に書かれたコア ダンプからの GC ルートのリストです。 ここに画像の説明を入力

「Unknown」セクションはありませんが、代わりに「JNI Global」が表示されます。そして、スタックのローカル変数がどこにあるのか、まだ疑問に思っています。

4

1 に答える 1