VisualVM 入門


VisualVM は、Java 仮想マシン (JVM) で実行中の Java アプリケーションに関する詳細情報を提供します。VisualVM のグラフィカルユーザーインタフェースを使用すると、複数の Java アプリケーションに関する情報をすばやく簡単に表示できます。

この入門ガイドは、VisualVM をすばやく設定して実行するための支援を行います。このガイドでは、VisualVM をインストールする方法と、VisualVM のアップデートセンターからプラグインをインストールして、ツールに機能を追加する方法を説明します。また、VisualVM の起動方法と、ローカルおよびリモートの JVM で実行中のアプリケーションに関して取得できるいくつかの情報の表示方法を示します。


実行中の VisualVM

java.sun.com で紹介された短いスクリーンキャストで、VisualVM の機能を参照してください。


VisualVM のインストール

  1. VisualVM のプロジェクトページから VisualVM のインストーラをダウンロードします。
  2. VisualVM インストーラをローカルシステムに抽出します。
  3. VisualVM のインストールディレクトリの bin ディレクトリに移動し、アプリケーションを起動します。

「アプリケーション」ウィンドウの使用

アプリケーションを起動すると、VisualVM のメインウィンドウが開きます。デフォルトで、メインウィンドウの左パネルに、「アプリケーション」ウィンドウが表示されます。「アプリケーション」ウィンドウでは、ローカルおよびリモートの JVM で実行中の Java アプリケーションをすばやく確認できます。

「アプリケーション」ウィンドウのスクリーンショット

「アプリケーション」ウィンドウは、特定のアプリケーションの詳細を表示するための、主な入場点です。アプリケーションのノードを右クリックすると、ポップアップメニューが開きます。ここで、主アプリケーションのタブを開くか、スレッドダンプまたはヒープダンプを取得するかを選択できます。

「アプリケーション」ウィンドウを使用して、アプリケーションに関するデータを表示および保存する方法の詳細については、次のページを参照してください。

ヒープダンプの参照

VisualVM には、ヒープダンプを簡単に参照できる表示機能があります。既存のヒープダンプを読み込んだり、ローカルで実行中のアプリケーションのヒープのスナップショットを作成したりできます。

ローカルアプリケーションのヒープダンプを取得するには、次のいずれかを実行します。

保存したヒープダンプを開くには、メインメニューから「ファイル」>「読み込み」を選択し、保存したヒープダンプを探します。

開いたヒープダンプを参照するには、次の手順に従います。

  1. 「ヒープダンプ」ツールバーの「クラス」をクリックし、ライブクラスと対応するインスタンスのリストを表示します。
  2. クラス名をダブルクリックしてインスタンスビューを表示し、インスタンスのリストを表示します。
  3. リストからインスタンスを選択して、そのインスタンスへの参照を表示します。
ヒープダンプの「インスタンス」タブのスクリーンショット

ヒープダンプを取得すると、VisualVM は新しいタブでヒープダンプを開き、「アプリケーション」ウィンドウのアプリケーションのノードの下にヒープダンプ用のノードを作成します。生成したヒープダンプを保存するには、ヒープダンプのノードを右クリックし、「別名保存」を選択します。生成したヒープダンプを明示的に保存しない場合、アプリケーションが閉じるときに、ダンプは削除されます。

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

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

VisualVM には、ローカルの JVM で実行中のアプリケーションをプロファイルできるプロファイラが含まれています。アプリケーションのタブの「プロファイラ」タブで、プロファイルの制御にアクセスします。プロファイラでは、ローカルアプリケーションのメモリー使用量と CPU パフォーマンスを解析できます。
注: JDK 6 で実行中のアプリケーションをプロファイルするには、アプリケーションのクラス共有を無効にする必要があります。そうしないと、アプリケーションがクラッシュする可能性があります。クラス共有を無効にするには、-Xshare:off 引数を付けてアプリケーションを起動します。

  1. ローカル Java アプリケーションを起動します (-Xshare:off 引数を付けてアプリケーションを起動)。
  2. 「アプリケーション」ウィンドウの「ローカル」ノードの下で、アプリケーションのノードを右クリックして「開く」を選択し、アプリケーションのタブを開きます。
  3. アプリケーションのタブで「プロファイラ」タブをクリックします。
  4. 「プロファイラ」タブで「メモリー」または「CPU」をクリックします。

    プロファイルタスクを選択すると、VisualVM は「プロファイラ」タブにプロファイルデータを表示します。

プロファイル結果がある「プロファイラ」タブのスクリーンショット

VisualVM を使用したプロファイルの詳細については、次のドキュメントを参照してください。

リモートホストへの接続

VisualVM では、リモートホストで実行中のアプリケーションを簡単に監視でき、またリモートシステムに関する一般的なデータを表示できます。リモートホストのアプリケーションに関する情報を表示するには、まずリモートホストに接続します。「アプリケーション」ウィンドウの「リモート」ノードの下に、接続しているリモートホストが一覧表示されます。リモートホストのノードを展開し、リモートホストで実行中のアプリケーションを表示します。

リモートアプリケーションからデータを取得するには、リモートの JVM で jstatd ユーティリティーが実行されている必要があります。jstatd を起動する方法については、「jstatd - 仮想マシン jstat デーモン」 を参照してください。リモートホストで実行中のアプリケーションはプロファイルできません。

  1. 「アプリケーション」ウィンドウで「リモート」を右クリックし、「リモートホストを追加」を選択します。
  2. 「リモートホストの追加」ダイアログで、リモートマシンのホスト名または IP アドレスを入力します。
  3. (省略可能) リモートホストの表示名を入力します。この名前は、「アプリケーション」ウィンドウに表示されます。表示名を入力しない場合、「アプリケーション」ウィンドウでリモートホストを識別するために、ホスト名が使用されます。
  4. 「了解」をクリックします。

「了解」をクリックすると、「リモート」ノードの下にリモートホストのノードが表示されます。リモートホストのノードを展開し、リモートホストで実行中の Java アプリケーションを表示します。

リモートアプリケーションの名前をダブルクリックすると、VisualVM でそのアプリケーションのタブを開くことができます。

リモートホストがある「アプリケーション」ウィンドウのスクリーンショット

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

VisualVM プラグインのインストール

VisualVM アップデートセンターから入手できるプラグインをインストールして、VisualVM に機能を追加できます。たとえば、VisualVM-MBeans プラグインをインストールすると、アプリケーションのタブに「MBeans」タブが追加されます。これを使用すると、VisualVM 内部から MBeans を監視および管理できます。

VisualVM プラグインをインストールするには、次の手順に従います。

  1. メインメニューから「ツール」>「プラグイン」を選択します。
  2. 「Available Plugins」タブで、プラグインの「Install」チェックボックスを選択します。「インストール」をクリックします。
  3. 手順を続行してプラグインのインストーラを完了します。
「プラグイン」ウィンドウのスクリーンショット

VisualVM-MBeans プラグインが選択されているプラグインマネージャーのスクリーンショットです。

その他の VisualVM ドキュメント

このドキュメントでは、VisualVM の一部の機能を紹介しています。VisualVM は、直感的なビジュアルインタフェースとして設計されており、ローカルおよびリモートの JVM で実行中の Java アプリケーションに関する情報を簡単に調査できます。VisualVM の機能の操作の詳細については、次のドキュメントを参照してください。