web-dev-qa-db-ja.com

JVMコアダンプを強制または生成する(IBM JVM)

可能性のある複製:
JVMクラッシュログファイルの生成を強制できますか?

Javaアプリケーションサーバーまたは一般的にJVMコアダンプを強制または生成するにはどうすればよいですか?

17
user665319

Problem(Abstract): WebSphere Application Server Community Editionで実行されている顧客アプリケーションのハングまたはパフォーマンス低下に関連する問題を診断するには、ユーザーはさまざまなダンプを生成し、診断のためにIBMサポートに送信する必要があります。

この技術情報では、WebSphere Application Server Community Editionがオペレーティングシステムサービスとして実行されている場合に必要なダンプを生成する方法について説明します。この技術情報は、IBM Java SDK 1.5.0およびIBM Java SDK 1.6.0

原因:IBM Java SDK 1.5.0またはIBM Java = SDK 1.6.0で、サーバーがオペレーティングシステムサービスとして実行されている場合、ユーザーはサーバープロセスの対応するコマンド/シェルウィンドウを使用できません。その結果、ユーザーシグナルをキーボードから送信してダンプをトリガーできません。

問題の解決: JVMプロセスコマンドウィンドウが使用可能な場合、ダンプの生成は次のように簡単です。

Windows:JVMがユーザー信号でダンプをトリガーするように設定されている場合、コマンドウィンドウでCRTL+Breakを押してダンプを生成します。

Linux:JVM設定がユーザー信号でダンプを生成するように構成されている場合、シェルウィンドウでCTRL+\を押します。

AIX:JVM設定がユーザー信号でダンプを生成するように構成されている場合は、シェルウィンドウでCTRL+\を押します。

注:Javaコアダンプ、システムコアダンプ、ヒープダンプ、およびユーザー信号でのスナップダンプを生成するには、次のようにJVMオプションでダンプエージェントを構成する必要があります。

-Xdump:Java+heap+system+snap:events=user

ダンプエージェントの設定方法の詳細については、-Xdumpの使用をご覧ください。

ただし、WebSphere Application Server Community Editionがオペレーティングシステムサービスとして実行されている場合、コマンドウィンドウが使用できない場合があります。このケースは、Windowsでjavaw.exeを使用してJVMプロセスを開始したときにも発生します。

上記の状況では、ユーザーは、JVMプロセスの対応するプロセスIDを見つけ、以下の手順に従ってオペレーティングシステムベンダーが提供するツールまたはIBMが提供するツールを使用してダンプを生成する必要があります。

Windows:WinDbgは、Microsoft Dev toolsサイトからダウンロードして、システムコアダンプを生成できます。 WinDbgコンソールで次のコマンドを使用して、システムコアダンプを生成します。

dump /f <dumpfile> 

Dumpfileには、ディレクトリパスとシステムコアダンプファイルの名前が含まれます。 /fの代わりに/maオプションが使用されていることを確認してください。 /fはフルダンプを生成しますが、/maはミニダンプを生成します。 IBM Java SDK 1.5.0/1.6.0。で提供されるjextractツールでは、完全なダンプのみがサポートされています。

Windows用のSendSignalユーティリティ。このため、ユーザー信号でダンプを生成するようにJVMをセットアップする必要があります。 Javaコアダンプ、ヒープダンプ、システムコアダンプ、およびユーザー信号でのスナップダンプを生成するには、起動時にJVMに次のオプションを指定する必要があります。

-Xdump:Java+heap+system+snap:events=user 

注:SendSignalユーティリティを使用して、WinDbgがシステムコアダンプのみを生成するすべてのタイプのダンプを生成できます。

Linux and AIX:LinuxおよびAIXのシグナルはSIGQUITです。コマンドを使用して、さまざまなダンプをトリガーするユーザー信号を送信します。

kill -3 <PID>  

このためには、ユーザー信号でダンプを生成するようにJVMをセットアップする必要があります。 Javaコアダンプ、ヒープダンプ、システムコアダンプ、およびユーザー信号でのスナップサンプを生成するには、起動時にJVMに次のオプションを指定する必要があります。

-Xdump:Java+heap+system+snap:events=user 

注:システムコアダンプファイルはjextractツールを使用して処理する必要があり、出力はIBMサポートに送信する必要があります。問題が発生したのと同じJVMからのjextractを使用して、システムコアダンプを処理する必要があります。

<Java_HOME>/jre/bin/jextract <dumpfile>   

Dumpfileはシステムコアダンプのファイル名です。

これにより、Zipファイル.Zipが生成されます。 ZipファイルをIBMサポートに送信する必要があります。

20
developer