特殊な管理 > サイトメンテナンス > Java Management Extensions (JMX) の使用 > クライアントの種類 > VisualVM
  
VisualVM
VisualVM は、さまざまな機能を備えた Java トラブルシューティングツールです。プラグインの統合により、JConsole の「MBean」タブが使いやすくなりました。JConsole のプラグインを組み込むこともできます。また、VisualVM には、ヒープダンプのトリガおよび調査、コアダンプの解析、スタックダンプのトリガ、メモリおよびスレッド使用率のグラフ表示、メモリおよび CPU プロファイリングの実行など、役に立つ機能が多数あります。
VisualVM は JDK にバンドルされています。
VisualVM を使用する前に
JDK の bin ディレクトリから VisualVM にアクセスできます。
Windows システムの場合、jvisualvm.exe をダブルクリックして VisualVM を起動します。
「開始」メニューから「VisualVM」を選択する方法もあります (Windchill のショートカットが作成されている場合)。
* 
Amazon Corretto がインストールされているサーバーの場合、VisualVM は Windchill のショートカットにありません。
その他のシステムの場合、jvisualvm スクリプトを呼び出して VisualVM を起動します。
wt.util.jmx.SMVisualVM コマンドラインユーティリティを使用して、VisualVM に接続することもできます。このユーティリティは、ローカル JMX 接続を使用してサーバーマネージャへ直接接続するので、サーバープロセスが VisualVM に自動的に表示されない場合に役立ちます。たとえば、Windchill が Windows サービスとして実行されており、デフォルトで別のユーザーに属する場合に、このユーティリティを使用できます。
アプリケーションを管理および監視するための VisualVM の使用方法については、以下のサイトにアクセスしてください。
http://visualvm.java.net/docindex.html
VisualVM での作業
VisualVM を起動すると、現在のユーザー ID でローカルで実行されており、JMX 接続が可能な Java プロセスのツリーが表示されます。表示されるウィンドウは、以下のようになります。
ツリーに表示される各ノードは、実行中のメイン Java クラスとプロセス ID を示しています。この例では、サーバーマネージャとメソッドサーバーをクラス名で簡単に区別できます。
1 つ以上のプロセスノードを選択し、次に「Applications」メニューの「Open」を選択します。メソッドサーバーのメインクラスを選択した場合、以下のように表示されます。
メインウィンドウには以下のタブがあります。
「Overview」 - 保存されているデータ、JVM 引数、システムプロパティの詳細が表示されます。このタブで、JVM で使用されているパラメータを表示できます。
「Monitor」 - ヒープメモリと永続世代メモリの使用量、ロードされたクラス、およびスレッド数の時系列変化がグラフ表示されます。JVM のアップタイム (動作継続時間) を表示します。GC (ガーベジコレクション) をリクエストできます。ヒープダンプを作成し、これを VisualVM で開いて詳細に調査できます。
「Threads」 - JVM のすべてのスレッドの状態と時間の関係がグラフで表され、このデータをスレッドごとに調査できます。また、スレッドダンプを作成して表示できます。
「Profiler」 - CPU およびメモリ使用量プロファイリングの起動および停止、結果データの調査などを実行できます。
「MBean」 - ログ作成オプション、プロパティ、電子メールオプションを設定したり、JVM アクティビティを監視するなど、さまざまな操作を実行できます。このタブを表示するには、VisualVM-MBeans プラグインをインストールする必要があります。セクション「VisualVM プラグインのインストール」を参照してください。
「JConsole Plugins」 - インストールしているプラグインがリスト表示されます。このタブを表示するには、VisualVM-JConsole プラグインをインストールする必要があります。セクション「VisualVM プラグインのインストール」を参照してください。
VisualVM と JConsole の「MBean」タブは非常によく似ているので、VisualVM の基本的なナビゲーション方法をマスターした後、この章の後半で説明する JConsole の例を簡単に適用して、いくつかの基本的な Windchill 固有のタスクを VisualVM で実行する方法について学習できます。
* 
Windchill では、同じユーザー ID とユーザーアカウントに属するローカル JMX 接続のみがデフォルトで許可されています。
VisualVM (およびその他の JMX 管理コンソール) のリモート接続を使用するには、追加設定が必要です。リモート管理については、リモート JMX 監視を参照してください。
VisualVM プラグインのインストール
前の図は、VisualVM の「MBeans」タブと「JConsole Plugins」タブを示しています。これらのタブは、VisualVM の JMX 管理機能と監視機能を JConsole の機能と同等にするために必要です。ただし、これらのタブを表示するには、VisualVM のプラグインをインストールする必要があります。
これらのプラグイン (およびその他のプラグイン) をインストールするには、以下の手順に従います。
1. 「Tools」メニューの「Plugins」を選択します。
2. 「Available Plugins」タブの「VisualVM-JConsole」「VisualVM-MBeans」を選択します。
3. 「Install」を選択し、画面の指示に従ってインストールプロセスを実行します。
Windchill サーバーに VisualVM-JConsole をインストールした後、以下の手順に従って、WtJmxPlugin.jar ファイルに格納されているプラグインを追加できます (ユーザーインタフェースに Windchill タブが追加されます)。
1. 「Tools」 > 「Options」 > 「JConsole Plugins」 > 「Add JAR/Folder」を選択します。
2. <Windchill>/codebase/lib ディレクトリで WtJmxPlugin.jar を選択します (<Windchill>Windchill インストールディレクトリ)。
VisualVM をリモートで使用する場合、Windchill サーバーからリモートサーバーへ WtJmxPlugin.jar ファイルをダウンロードし、ローカルサーバー上でこのファイルを指定します。
これで、VisualVM を起動するたびにプラグインがロードされるようになりました。VisualVM で「JConsole Plugins」タブを開いて、このプラグインにアクセスします。Windchill タブの詳細については、JConsoleのセクション「Windchill タブ情報」を参照してください。