[Java] Troubleshooting Tools - VisualVM

原文はこちら。
https://blogs.oracle.com/WebLogicServer/entry/troubleshooting_tools_visualvm

様々な無料のトラブルシューティングツールやデバッグツールがありますが、どのツールがWebLogic Serverでの問題を分析する際に役立つのでしょうか。このブログで、現在利用できるもののうち、無料で使いやすく、非常に効率的に問題の束を見つけ出せるベストなツールをいくつかご紹介していきます。第1回目はVisualVMを取り上げます。
VisualVM
http://visualvm.java.net/
VisualVMの最新版、もしくは1.3.5は2012年11月13日にリリースされました。このツールは実行中のJVMを監視するためのユーザーフレンドリーなUIから構成されています。ローカルもしくはリモートで実行中のJVMに接続するだけで、WebLogic ServerやJavaの複数のインスタンスを同時に監視できます。VisualVMの実行にはOracle Sun JDK 6+のJDK(JREではありません)が必要です。VisualVMは以下のように実行するためのJDKを指定して起動することができます。
visualvm --jdkhome "JDK_location", or visualvm --jdkhome "d:\jdk160_24"
別の方法で、/etc/visualvm.confを変更して利用したいJDKを指定することもできます。起動したら、ローカルで実行中のJavaインスタンスのリストがアプリケーションの左ペインに表示されます。リモートのJVMの場合、当該JVMインスタンスを実行しているホストを定義することができます。実行中のサーバを選択して[open]をクリックすると、以下のような画面が出てきます。

[訳注]
MultiLingual版では日本語表示されます。以下の記述は、日本語環境で使った場合の表示を基にしています。

[開始ページ]では、VisualVMのオンラインドキュメントに簡単にアクセスできます。開始ページの隣のタグで、開いているJVMインスタンスの情報を表示します。上の画面ではWebLogic ServerインスタンスとそのプロセスID(PID)を確認できます。
その下の[概要]では、すべてのJVM設定やWebLogic固有のプロパティを含む、多くのシステムプロパティを表示しています。
[監視]タブでは、CPUやヒープ、クラスやスレッドをリアルタイムに監視することができます。ガベージコレクション(GC)を強制実行したり、詳細に分析するためヒープダンプを取得することもできます。

[スレッド]タブではすべてのスレッドのアクティビティをリアルタイムにレポートするだけでなく、スレッドダンプをとることもできます。すべてのスレッドダンプを左ペインの関係するアプリケーションプロセスにアタッチし、 C:\Users\<user_name>\AppData\Local\Temp\visualvm.dat 以下に保存します(例:  : C:\Users\lgoldszt\AppData\Local\Temp\visualvm.dat\localhost_6352\threaddump-1358534350679.tdump)。ThreadLogicを使うとスレッドダンプをもっと詳しく診断することができます。
ThreadLogic
http://java.net/projects/threadlogic
[サンプラ]タブではCPUやメモリの利用量の動きを記録できます。これは、潜在的なメモリリークやCPU使用率が高いスレッドをデバッグするのにちょうどいいものです。
最後に、[プロファイラ]タブではどの処理で時間を費やしているか、どのオブジェクトがメモリを食いつぶしているかを識別することができます。
メモリのスナップショットをとり、他の例と比較することができます(メニューの[ファイル]>[メモリー・スナップショットを比較])。VisualVMには下図のように簡単にインストールできるたくさんのプラグインも付属しています。

VisualVM にはJConsoleのようなMBeanタブはありませんが、VisualVM-MBeansプラグインをインストールすれば簡単に使えるようになります。
JConsole
http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html
個々のプラグインが提供するものを含めて、豊富な機能を持っていることから、VisualVMは最適なツールであり、JConsole、jstat、jmap、またはjstackといったツールの特性を兼ね備えています。
その他の選択肢の中で、ダウンロードページからはEclipse launcher for VisualVMをダウンロードすることもできます。
VisualVM Download
http://visualvm.java.net/download.htmlEclipse launcher for VisualVM
http://visualvm.java.net/eclipse-launcher.html
もっと詳しい情報やデモを見たい方は、以下のページをご覧ください。
Demo
http://visualvm.java.net/features.html#demo

0 件のコメント:

コメントを投稿