スレッドダンプツールは、Java VMのスレッドダンプ(コマンドプロンプトから[Ctrl]キーを押しながら[Break]キーを押し採取したスレッドダンプ)と同じく、各スレッドの状態を出力し、プログラム全体や、各スレッドの実行状況を解析する助けとなるスレッドダンプを出力する機能です。
スレッドダンプツールは、Java VMのスレッドダンプ出力に以下の機能を追加しています。
ファイル出力
オプション(-f)で指定したファイルに、スレッドダンプを出力できます。
ヘッダー、フッター出力
標準出力や標準エラー出力にスレッドダンプを出力した場合、アプリケーションのログファイル(Jakarta ServletやEJBの標準出力、あるいはJava VMの出力を格納するファイルなど)に、そのスレッドダンプが含まれることになります。ヘッダーやフッターは、そのログファイルを参照する場合に、目印となる情報です。(-fオプションを指定した場合も出力します。)
ヘッダーには、スレッドダンプの採取日時、コマンドラインおよび、メモリの使用状況の情報が含まれます。
なお、Java VMのスレッドダンプ出力の操作方法は、“チューニングガイド”を参照してください。
OpenJDK 8
“OpenJDK 8のチューニング” - “チューニング/デバッグ技法” - “スレッドダンプ”
動作環境
製品添付のOpenJDK
2種類のコマンド
スレッドダンプツールには、以下の2種類のコマンドがあります。
通常のアプリケーション(ユーザが起動するプログラム)として動作するthdumpコマンド
Windowsサービス(システム内に常駐して動作するプログラム)として動作するthdumpSVCコマンド
これら2種類のコマンドは、以下にしたがって使い分けてください。
Javaプログラムが、通常のアプリケーションとして動作している場合は、thdumpコマンドを使用してください。
Javaプログラムが、Windowsサービスとして動作している場合は、thdumpSVCコマンドを使用してください。
例えば、以下はWindowsサービスとして動作するので、スレッドダンプを採取するためにはthdumpSVCコマンドを使用します。
GlassFish実行環境
Interstage PCMI
格納先
格納先は次のとおりです(製品を“C:\Interstage”にインストールした場合)。
thdumpコマンド:
C:\Interstage\openjdk\jdk8\tools\thdump
thdumpSVCコマンド:
C:\Interstage\openjdk\jdk8\tools\thdump\thdumpSVC