問題タブ [gc-roots]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
208 参照

java - IBM Java heapdump の GC ルート - リストは完全ですか?

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

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

ここに画像の説明を入力

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

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

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

アップデート

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

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