jVisualVM におけるサンプリングとプロファイリングの違い 質問する

jVisualVM におけるサンプリングとプロファイリングの違い 質問する

VisualVM には、サンプリングとプロファイリング用の 2 つのタブがあります。VisualVM におけるサンプリングとプロファイリングの違いは何ですか?

ベストアンサー1

Sampling大量のスレッド ダンプを取得し、スタック トレースを分析することを意味します。これは通常、より高速で、実行時にバイトコードを変更する必要がありません (バイトコードが壊れる可能性があります) が、精度も低くなります。

Profiling手段計装クラスとメソッドをプロファイリングして、実行されるたびに「レポート」します。これは、ダンプの実行時にキャッチされたものだけでなく、インストルメントされたメソッドのすべての呼び出しをカウントするため、より正確です。ただし、インストルメンテーションはクラスのバイトコードが変更されることを意味し、これによりプログラムが壊れる可能性があります。実際、この理由により、大規模なアプリケーション サーバー (JBoss や WebLogic など) でプロファイリングを使用すると、すべてが停止したりハングしたりすることがよくあります。

おすすめ記事