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