IBM® JDK の javacore や、IBM 以外の JDK のスレッド・ダンプを収集する場合、いくつかの方法があります。
javacore ダンプ (スレッド・ダンプとも呼ばれる) は、アプリケーション・サーバーが作成する主要な問題判別文書の 1 つです。
<PROFILE_DIR>¥bin¥wsadmin.bat [-host host_name] [-port port_number]
[-user userid -password password] -c
"$AdminControl invoke [$AdminControl queryNames WebSphere:name=JVM,process=server1,*]
dumpThreads"
<PROFILE_DIR>>/bin/wsadmin.sh[-host host_name]
[-port port_number] [-user userid -password password] -c
"¥$AdminControl
invoke [¥$AdminControl queryNames WebSphere:name=JVM,process=server1,*]
dumpThreads"
サーバー・プロセスがコマンド・ウィンドウで開始されます。 通常は中間 JVM プロセスによってサーバー・プロセスが開始されますが、ここではこの中間 JVM プロセスは使用されないため、ログを調べて、サーバーが正常に始動したことを確認する必要があります。
サーバー・プロセスが稼働しているコマンド・ウィンドウで <CTRL><BREAK> を実行します。 javacore が生成されます。
この <pid> は、WebSphere® Process Server のプロセス ID です。 IBM JDK の場合、javacore は <PROFILE_DIR> ディレクトリーに生成されます。
IBM 以外の JDK の場合、スレッド・ダンプは native_stdout.log に書き込まれます。
この方法の場合、サーバーを始動する前に特別なセットアップを行う必要はありません。 ただし、JVM チームから専用の実行可能ファイルを入手する必要があります。このプログラム (jvmdump.exe) が必要な場合は、jvmcookbook@uk.ibm.com までご連絡ください。 このプログラムを使用すると、JVM 内部で実行されているネイティブ・コードに関する追加情報を取得することができます。 ダンプの形式は、IBM javacore とは異なります。
ダンプ中に実行されている現行スレッドを表示します。
ダンプからすべてのスレッドを表示します。
jdumpview ユーティリティーについて詳しくは、IBM Developer Kit and Runtime Environment, Java™ Technology Edition バージョン 5.0 の「Diagnostics Guide」を参照してください。