テクノロジー ウェブスフィア 非公開: WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する

WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する

システム管理者 にとって重要なタスクの 1 つは、WebSphere Application Server でシステム ダンプ、Java コア、およびヒープ ダンプを生成することです。

通常、アプリケーションのトラブルシューティングを行う際には、アプリケーションまたはインフラストラクチャの問題を調査する必要がありました。

これは、 WAS 管理コンソール または コマンド ライン を使用して行うことができます。好みに応じて方法を選択できます。

WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する
WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する

1. WebSphere 管理コンソールの使用

  • DMGRコンソールにログインします
  • 左側の「トラブルシューティング」に移動します
  • Java ダンプとコアをクリックします

トラブルシューティングでした
トラブルシューティングでした
トラブルシューティングでした

  • リストから JVM を選択し、生成したい JVM をクリックします。

だった選択ダンプ
だった選択ダンプ
だった選択ダンプ

ダンプとコアは、WebSphere プロファイルの場所に生成されます。メッセージの下に絶対パスが表示されます。

was-ヒープダンプの場所
was-ヒープダンプの場所
was-ヒープダンプの場所

WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する
WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する

2. コマンドラインの使用

  • WASサーバーにログインする
  • プロファイルとbinフォルダーに移動します
  • wsadmin.shファイルを実行する
 [root@localhost bin]# ./wsadmin.sh
WASX7209I: Connected to process "dmgr" on node localhostCellManager01 using SOAP connector; The type of process is: DeploymentManager
WASX7029I: For help, enter: "$Help help"
wsadmin> 
  • JVM名を変数に設定する
 set jvm [$AdminControl completeObjectName type=JVM,process= server1 ,*] 

注: たとえば、 server1 です。これを実際の JVM 名に変更します。

 wsadmin> set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
WebSphere:name=JVM,process=server1,platform=proxy,node=localhostNode01,j2eeType=JVM,J2EEServer=server1,version=8.5.5.0,type=JVM,mbeanIdentifier=JVM,cell=localhostCell01,spec=1.0
wsadmin> 

ヒープダンプを生成するには

  • 以下を実行
 $AdminControl invoke $jvm generateHeapDump 

これにより、ヒープ ダンプが生成され、それが利用可能なパスが提供されます。

 wsadmin> $AdminControl invoke $jvm generateHeapDump
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20160618.225441.4808.0006.phd
wsadmin> 

Javaコアを生成するには

 $AdminControl invoke $jvm dumpThreads 

これによりスレッド ダンプが生成され、プロファイル パスで利用できるようになります。

ダンプを取得するのは簡単で、ダンプを分析するのは常に興味深いものであることがわかります。アプリケーションのトラブルシューティングのためにそれらを分析する方法については、次の記事をご覧ください。

「 WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する」についてわかりやすく解説!絶対に観るべきベスト2動画

Java Webアプリ開発 – Spring Framework -第2章「静的コンテンツと動的コンテンツ」 誰でもわかる Java Webアプリ開発📺動学.tv
【Java入門シリーズ⑧】オブジェクト指向プログラミングとは

システム管理者 にとって重要なタスクの 1 つは、WebSphere Application Server でシステム ダンプ、Java コア、およびヒープ ダンプを生成することです。

通常、アプリケーションのトラブルシューティングを行う際には、アプリケーションまたはインフラストラクチャの問題を調査する必要がありました。

これは、 WAS 管理コンソール または コマンド ライン を使用して行うことができます。好みに応じて方法を選択できます。

WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する
WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する

1. WebSphere 管理コンソールの使用

  • DMGRコンソールにログインします
  • 左側の「トラブルシューティング」に移動します
  • Java ダンプとコアをクリックします

トラブルシューティングでした
トラブルシューティングでした
トラブルシューティングでした

  • リストから JVM を選択し、生成したい JVM をクリックします。

だった選択ダンプ
だった選択ダンプ
だった選択ダンプ

ダンプとコアは、WebSphere プロファイルの場所に生成されます。メッセージの下に絶対パスが表示されます。

was-ヒープダンプの場所
was-ヒープダンプの場所
was-ヒープダンプの場所

WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する
WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する

2. コマンドラインの使用

  • WASサーバーにログインする
  • プロファイルとbinフォルダーに移動します
  • wsadmin.shファイルを実行する
 [root@localhost bin]# ./wsadmin.sh
WASX7209I: Connected to process "dmgr" on node localhostCellManager01 using SOAP connector; The type of process is: DeploymentManager
WASX7029I: For help, enter: "$Help help"
wsadmin> 
  • JVM名を変数に設定する
 set jvm [$AdminControl completeObjectName type=JVM,process= server1 ,*] 

注: たとえば、 server1 です。これを実際の JVM 名に変更します。

 wsadmin> set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
WebSphere:name=JVM,process=server1,platform=proxy,node=localhostNode01,j2eeType=JVM,J2EEServer=server1,version=8.5.5.0,type=JVM,mbeanIdentifier=JVM,cell=localhostCell01,spec=1.0
wsadmin> 

ヒープダンプを生成するには

  • 以下を実行
 $AdminControl invoke $jvm generateHeapDump 

これにより、ヒープ ダンプが生成され、それが利用可能なパスが提供されます。

 wsadmin> $AdminControl invoke $jvm generateHeapDump
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20160618.225441.4808.0006.phd
wsadmin> 

Javaコアを生成するには

 $AdminControl invoke $jvm dumpThreads 

これによりスレッド ダンプが生成され、プロファイル パスで利用できるようになります。

ダンプを取得するのは簡単で、ダンプを分析するのは常に興味深いものであることがわかります。アプリケーションのトラブルシューティングのためにそれらを分析する方法については、次の記事をご覧ください。

「 WebSphere でヒープ ダンプ、Java コア、システム ダンプを生成する」についてわかりやすく解説!絶対に観るべきベスト2動画

Java Webアプリ開発 – Spring Framework -第2章「静的コンテンツと動的コンテンツ」 誰でもわかる Java Webアプリ開発📺動学.tv
【Java入門シリーズ⑧】オブジェクト指向プログラミングとは