アプリケーションスレッドの監視Java VisualVM では、ローカルアプリケーションやリモートアプリケーションのデータは、そのアプリケーションに固有のタブ内に表示されます。アプリケーションタブは、「Applications」ウィンドウの右側にあるメインウィンドウ内に表示されます。アプリケーションタブは一度に複数個開くことができます。各アプリケーションタブに含まれるサブタブには、アプリケーションに関するさまざまな種類の情報が表示されます。 スレッドアクティビティーの監視Java VisualVM の「Threads」タブには、スレッドアクティビティーに関するハイレベルのデータがリアルタイムで表示されます。 「Threads」タブにはデフォルトで、現在のスレッドアクティビティーのタイムラインが表示されます。タイムライン内のスレッドをダブルクリックして、そのスレッドに関する詳細情報を「Details」タブ内に表示できます。 「Timeline」タブこのタブには、リアルタイムのスレッド状態を含むタイムラインが表示されます。現在の表示のズームイン/アウトを行ったり、Scale to Fit モードに切り替えたりするには、タイムラインツールバーのボタンを使用します。ドロップダウンリストを使えば、表示されるスレッドを選択できます。すべてのスレッド、ライブスレッド、終了スレッドのいずれかを表示することを選択できます。また、単一のスレッドや複数のスレッドを選択してスレッドのサブセットを表示させることもできます。あるスレッドのタイムラインをダブルクリックすれば、そのスレッドを「Details」タブ内で開くことができます。 各スレッドのタイムラインを見れば、そのスレッドのアクティビティーの概要をすばやくつかむことができます。 「Details」タブ「Details」タブには、個々のスレッドに関するより詳細な情報が表示されます。ドロップダウンリストを使えば、すべてのスレッド、すべてのライブスレッド、すべての終了スレッドのいずれかを表示することを選択できます。また、「Timeline」ビューで選択されたスレッドの詳細だけを表示することを選択することもできます。スレッドごとに、名前、クラス名、および現在の状態 (ライブ/終了) が表示されます。スレッドの短い説明も表示されます。 「Details」タブに表示される各スレッドには次のタブが含まれます。
各スレッドのタイムラインを見れば、そのスレッドのアクティビティーの概要をすばやくつかむことができます。 スレッドダンプの取得Java VisualVM では、ローカルアプリケーションの実行中にスレッドダンプ (スタックトレース) を取ることができます。スレッドダンプを取ってもアプリケーションが停止されることはありません。スレッドダンプを出力すると、Java スレッドのスレッド状態を含むスレッドスタックの出力が得られます。 Java VisualVM でスレッドダンプを出力すると、アプリケーションのアクティブスレッドのスタックトレースが出力されます。Java VisualVM を使ってスレッドダンプを取ることは、アプリケーションのコマンド行コンソールが存在しない場合に非常に役立つ場合があります。スタックトレースを使えば、デッドロックやアプリケーションがどのタイミングでハングアップしたかなど、さまざまな問題の診断が容易になります。 スレッドダンプサブタブ内のスレッドダンプ (スタックトレース) のスクリーンショット。 | ||||||||||||
|