私はTomcat Webサーバーで構築されたJavaアプリケーションを持っています。 Javaミッションコントロールを使用すると、私はストレス下ではGCが非常に支配的であることを知っています。 GCサイクルごとに、CPUは非常に高くなります。 私が知りたいことは、各GCサイクルが正確に何をしているのか、特にどのオブジェクトが昇格しているのか、どのオブジェクトが解放されているのか知りたいのです。解放されるオブジェクトについては、どのタイプであるか、作成された場所を知りたいと思います。バイト[]やストリングスがたくさんあることを知っているのは、それらを作成できる場所がたくさんあるので、明らかに助けにならないのですが、ほんの少数しか私の支配下にあり、支配的です。Java GCが高い、どのオブジェクトがGCedであるかを調べる方法
誰でもツールや方法を知っていますか?
ありがとうございます。
[フライト録画](https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr005.html)を使用しましたか? – nullpointer
はい、フライトレコーダーは、GCがCPUスパイクを引き起こしていることをどのようにして知ったのですか?しかし、JFRは私が必要としている/説明した情報を提供していません。または、少なくとも私はその情報を取得する方法がわかりません –
JFRプロファイルと一緒にGCログが原因を知るには十分に良いことがあります。 – nullpointer