Java Platform, Standard Editionトラブルシューティング・ガイド
目次      

2.10 Java VisualVM

Java VisualVMは、JDKダウンロードに含まれる最新ツールの1つです。このツールは、Javaアプリケーションの開発者が、アプリケーションのトラブルシューティングを行ったり、アプリケーションのパフォーマンスをモニターおよび改善したりするのに役立ちます。Java VisualVMを使用すると、ヒープ・ダンプの生成および解析、メモリー・リークの特定、ガベージ・コレクションの実行およびモニター、およびメモリーとCPUの簡易プロファイリングの実行が可能になります。またこのツールは、チューニング、ヒープ・サイズ決定、オフライン分析、およびポストモーテム診断にも役立ちます。

さらに、Java VisualVMの機能を拡張する既存のプラグインを使用することもできます。たとえば、JConsoleツールのほとんどの機能が、MBeansタブおよびJConsoleプラグイン・ラッパー・タブを介して使用できます。標準Java VisualVMプラグインのカタログから選択するには、Java VisualVMのメイン・ウィンドウの「ツール」メニューから「プラグイン」を選択します。

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

次の項では、Java VisualVMによるトラブルシューティングについて説明します。

2.10.1 Java VisualVMによるトラブルシューティング

Java VisualVMでは次のトラブルシューティング・アクティビティを実行できます。

  • ローカルおよびリモートのJavaアプリケーションの一覧を表示します。

  • アプリケーションの構成や実行環境を表示します。このツールはアプリケーションごとに、基本的な実行時情報(PID、ホスト、mainクラス、プロセスに渡された引数、JVMのバージョン、JDKホーム、JVMフラグ、JVM引数およびシステム・プロパティ)を表示します。

  • 指定されたアプリケーションでOutOfMemoryError例外が発生した場合のヒープ・ダンプの作成を、有効および無効にします。

  • アプリケーションのメモリー消費、実行中のスレッド、ロード済みのクラスをモニターします。

  • ガベージ・コレクションをすぐにトリガーします。

  • ヒープ・ダンプをすぐに作成します。その後、いくつかのビュー(サマリー、クラス別、インスタンス別)でヒープ・ダンプを表示できます。また、ヒープ・ダンプをローカル・ファイル・システムに保存することもできます。

  • アプリケーション・パフォーマンスのプロファイリングやメモリー割当ての分析を行います(ローカル・アプリケーションの場合のみ)。また、プロファイル・データを保存することもできます。

  • スレッド・ダンプ(アプリケーションのアクティブ・スレッドのスタック・トレース)をすぐに作成します。その後、スレッド・ダンプを表示できます。

  • コア・ダンプを分析します(Oracle SolarisおよびLinuxオペレーティング・システムの場合)。

  • アプリケーション・スナップショットを取ることで、アプリケーションをオフラインで分析します。

  • コミュニティから寄贈された追加プラグインを取得します。

  • 独自プラグインの作成と共有を行います。

  • MBeanを表示したり操作したりします(MBeanタブ・プラグインのインストール後)。

Java VisualVMを起動するとメインのアプリケーション・ウィンドウが開き、ローカル・マシン上で実行されているJavaアプリケーションの一覧、接続されたすべてのリモート・マシン上で実行されているJavaアプリケーションの一覧、取得して保存されたすべてのJVMコア・ダンプの一覧(Oracle SolarisおよびLinuxオペレーティング・システムの場合)、取得して保存されたすべてのアプリケーション・スナップショットの一覧が表示されます。

Java VisualVMは、JDK上で実行されているJavaアプリケーションや、正しいシステム・プロパティとともに起動されたJavaアプリケーションのJava Management Extensions (JMX)エージェントを自動的に検出して接続します。ツールがリモート・マシン上のエージェントを検出して接続するには、リモート・マシン上でjstatdデーモンが実行されている必要があります(「jstatdデーモン」を参照)。ターゲット・アプリケーション内で実行されているJMXエージェントをJava VisualVMが自動的に発見して接続できない場合、ツールはこれらの接続を明示的に作成する方法を提供します。

目次      

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.