Sun Java Solaris コミュニティー My SDN アカウント SDN に参加
 

Java VisualVM


Java VisualVM ドキュメントの索引に戻る

ローカルアプリケーションの操作

Java VisualVM を起動すると、「Applications」ウィンドウの「Local」ノードの下に、各ローカル Java アプリケーションのノードが表示されます。あるアプリケーションのノードを展開すれば、そのアプリケーションのプロファイラスナップショット、スレッドダンプ、およびヒープダンプを表示できます。アプリケーションのノードまたはサブノードを右クリックすると、さまざまなアクションの選択を可能にするポップアップメニューが表示されます。
注: ローカルアプリケーションの一覧には常に Java VisualVM が含まれています。

ポップアップメニューオプションが表示された、VisualVM の「Applications」ウィンドウのスクリーンショット

一般に、ローカルアプリケーションノードのポップアップメニューで使用可能な項目は、次のとおりです。

  • Open: メインウィンドウでアプリケーションのタブを開きます。このタブではアプリケーションデータを表示できます。
  • Thread Dump: アプリケーションのスレッドダンプを取ります。
  • Heap Dump: アプリケーションのヒープダンプを取ります。
  • Profile: アプリケーションの「Profile」サブタブを開きます。このタブでは、アプリケーションのプロファイリングを選択できます。(Java VisualVM もアプリケーションツリーに表示されるが、Java VisualVM に自身をプロファイリングさせることはできない)。
  • Profiler Snapshot: プロファイルセッションからの結果のスナップショットを作成します。メインウィンドウでこのスナップショットが開かれるほか、アプリケーションノードの下にこのスナップショットのノードが表示されます。このコマンドを使用できるのは、Java VisualVM がアプリケーションのプロファイリングを行っているときだけです。
  • Application Snapshot: アプリケーションのすべてのダンプとスナップショットを含むアプリケーションスナップショットを作成します。「Snapshots」ノードの下にこのアプリケーションスナップショットのノードが表示されます。
  • Enable Heap Dump on OOME: アプリケーションで OutOfMemoryException が発生した際にヒープダンプを自動的に取るように Java VisualVM に指示するには、これを選択します。

ポップアップメニューから直接実行可能な作業は、次のとおりです。

アプリケーションデータの表示

Java VisualVM では、実行中の各ローカルアプリケーションに関するデータが、メインウィンドウの専用タブ内に表示されます。各アプリケーションタブにはいくつかのサブタブが含まれ、それらのサブタブ内にそのアプリケーションに関する情報が表示されます。

アプリケーションタブを開くには、「Applications」ウィンドウでアプリケーションノードを右クリックし、「Open」を選択します。(あるいは、アプリケーションノードをダブルクリックする。)「Open」をクリックすると、メインウィンドウでアプリケーションタブの「Overview」タブが開かれます。

ローカルアプリケーションのアプリケーションタブに含まれるサブタブは、次のとおりです。

インストールされたプラグインによっては、追加のタブやサブタブが表示される可能性があります。

スレッドダンプの取得

Java VisualVM では、スレッドダンプを取ることで、その時点におけるアクティブなアプリケーションスレッドに関する情報を取得できます。スレッドダンプを取ると、メインウィンドウ内のアプリケーションのサブタブ内に、そのスレッドダンプが開かれます。「Applications」ウィンドウのアプリケーションノードの下にスレッドダンプのノードが表示されます。

スレッドダンプを取るには次の方法を使用します。

  • 「Applications」ウィンドウでアプリケーションノードを右クリックし、「Thread Dump」を選択します。
  • アプリケーションタブの「Threads」タブで「Thread Dump」ボタンをクリックします。

スレッドダンプを取ると、メインウィンドウ内のアプリケーションのサブタブ内に、そのスレッドダンプが開かれます。アプリケーションノードの下にスレッドダンプのノードが表示されます。

アプリケーションスレッドの操作方法の詳細については、次のドキュメントを参照してください。

ヒープダンプの取得

ローカルアプリケーションのヒープダンプを取れば、ヒープ上のオブジェクトのスナップショットを取得できます。

ヒープダンプを取るには次の方法を使用します。

  • 「Applications」ウィンドウでアプリケーションノードを右クリックし、「Heap Dump」を選択します。
  • アプリケーションタブの「Monitor」タブで「Heap Dump」ボタンをクリックします。

ヒープダンプを取ると、メインウィンドウ内のアプリケーションのサブタブ内に、そのヒープダンプが開かれます。アプリケーションノードの下にヒープダンプのノードが表示されます。

ヒープの操作方法の詳細については、次のドキュメントを参照してください。

アプリケーションのプロファイリング

Java VisualVM に含まれるプロファイラを使えば、ローカルアプリケーションのパフォーマンスやメモリー使用量を解析できます。アプリケーションのプロファイリングは、アプリケーションを再起動しなくても行えます。プロファイルセッションを開始するには、アプリケーションノードを右クリックし、ポップアップメニューから「Profile」を選択してプロファイルタブを開きます。
注: Java VisualVM を使って自身のプロファイリングを行うことはできません。

詳細については、次のドキュメントを参照してください。

スナップショットの取得

Java VisualVM ではスナップショットを取ることができます。これを行うと、その時点におけるアプリケーションデータが取得されます。スナップショットをローカルシステムに保存しておき、後日それらを調べたり他人に送信したりできます。

Java VisualVM では次のタイプのスナップショットを取ることができます。

  • プロファイラスナップショット: プロファイラスナップショットでは、その時点におけるプロファイルデータが取得されます。このスナップショットはメモリースナップショット、CPU スナップショットのいずれかになります。プロファイラスナップショットを取ることができるのは、アプリケーションのプロファイリングが実行されているときだけです。
  • アプリケーションスナップショット: アプリケーションスナップショットとは、アプリケーションノードの下に一覧表示されるヒープダンプ、スレッドダンプ、およびスナップショットをすべて含んだアーカイブのことです。

詳細については、次のドキュメントを参照してください。


Java VisualVM ドキュメントの索引に戻る