表2-3では、ハングアップまたはデッドロックしたプロセスに関連するシナリオで役立つ可能性のあるオプションやツールをまとめています。 これらのツールでは、アプリケーション起動時に特殊なオプションは必要ありません。
このリリースのJDK 8では、JVMおよびJavaアプリケーションに関する問題を診断するため、Java Mission Control、Java Flight Recorderおよびjcmd
ユーティリティが導入されています。 診断機能を強化し、パフォーマンスのオーバーヘッドを削減するには、以前のjstack
、jinfo
およびjmap
ユーティリティのかわりに最新の診断ツールjcmd
の使用をお薦めします。
表2-3 ハングアップ・プロセス・ツール
ツールまたはオプション | 説明および使用方法 |
---|---|
Ctrl+Breakハンドラ (Oracle SolarisおよびLinuxオペレーティング・システムでは[Ctrl]+[\]または |
このキーの組み合わせでは、スレッド・ダンプとデッドロック検出が実行されます。 Ctrl+Breakハンドラではオプションで、並行ロックとその所有者の一覧や、ヒープ・ヒストグラムを出力することもできます。 Ctrl+Breakハンドラを参照してください。 |
|
jcmdユーティリティを使用してJVMに診断コマンド・リクエストを送信し、JVMではこれらのリクエストを使用してJavaフライト記録を制御します。 JFRはフライト記録のイベントのトラブルシューティングと診断に使用します。 jcmdユーティリティを参照してください。 |
|
デバッガ・サポートには、 |
|
このユーティリティは、ヒープ・ダンプ内のオブジェクト・トポロジを参照するための便利な手段を提供します。 jhatユーティリティを参照してください。 |
|
このユーティリティはJavaプロセスから構成情報を取得できます。 jinfoユーティリティを参照してください。 |
|
このユーティリティは、Javaプロセスからヒープ・ヒストグラムなどのメモリー・マップ情報を取得できます。 Oracle SolarisおよびLinuxオペレーティング・システムでは、プロセスがハングアップした場合に |
(Oracle SolarisおよびLinuxオペレーティング・システムのみ) |
Serviceability Agent Debug Daemon ( |
|
このユーティリティは、JavaプロセスからJavaおよびネイティブ・スタックの情報を取得できます。 Oracle SolarisおよびLinuxオペレーティング・システムでは、プロセスがハングアップした場合に |
ネイティブ・ツール |
各オペレーティング・システムには、ハング・アップやデッドロックの状況で役立つ可能性のあるネイティブ・ツールおよびユーティリティがあります。 オペレーティング・システムのネイティブ・ツールを参照してください。 |