- PR -

tomcat4.1.3のスレッドダンプの取得方法について

投稿者投稿内容
いちご
ベテラン
会議室デビュー日: 2007/03/13
投稿数: 80
投稿日時: 2007-03-13 15:50
>>インギさん
 JavaWebStartは確かに、2回目以降は、ローカル実行できるようです。しかし。
 障害がみられたサーバは客先で既に稼動中のため、Webにつなぐことが出来ずこれは断念
 のようです。
 あと、Java6ですが、当該アプリケーションが、複数のアプリケーションを連携させており、
 Java6による動作保障/検証等の面を考慮しますと、なかなか難しいかなと思いました。
 しかしJRockitですが、現在のJVM環境を変えずにスレッド等の解析を行うという条件に対 
 し、これは現実的な対応を図れそうです。
 現在、ダウンロードし、JRockit7.0をダウンロードし、とりあえず客先環境に擬せた社内環
 境で環境設定を試みております。
 もし、JRockitについての設定方法等が簡単に解説されているようなページをご存知でしたら
 ご教示頂けましたら助かります(汗)。。
 何卒宜しくお願いいたします。

>>カーニーさん
 貴重な情報を賜り有難うございます。
 難しそうですね。。(汗)
 まずは、インギさんよりご教示頂けましたJRockitを試みてみたいと思います。
 なるべく、当該実行環境の環境を変更せずに(解析措置環境によるシステムへの影響範囲を考 慮して)、解析環境を構築できれば。。と考えております。
 

  
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2007-03-13 16:08
引用:

いちごさんの書き込み (2007-03-13 15:50) より:
 なるべく、当該実行環境の環境を変更せずに(解析措置環境によるシステムへの影響範囲を考 慮して)、解析環境を構築できれば。。と考えております。



Tomcatの起動をサービスから行うのではなく、bin/startup.batから行う方法は検討しましたか?
Tomcatの起動中はコマンドプロンプトを閉じることができませんが、Ctrl-Breakを押して任意のタイミングでスレッドダンプが取れます。

たぶんいちばん影響がないのはこの方法です。
いちご
ベテラン
会議室デビュー日: 2007/03/13
投稿数: 80
投稿日時: 2007-03-13 17:22
>>インギさん
 現在、JRockitの環境構築している中で、ManagementConsoleを起動し、LocalHostに
 connectionしているのですが、以下のエラーにより接続できません。
 なにか前提になるものが動いてないからでしょうか。

 『Connection not accepted on port 7090 at server サーバ名
  the most likely cause for this error is that no jRockit Mangement Server
is running on the specifed host, or that an incorrect portnumber was
specifed.
Check that a jRockit Management Server is running on th host,that the
host name is correct and that the port number on the server corresponds
to the port number in the management Console,snd try again 』

>>カーニーさん
 ご助言誠に有難うございます。
 はい、当該方法での確認方法も行ってみております。
 Ctrl-Breakで作成されるダンプファイルが見当たらないのですが、どこに作成されるのでしょうか。


山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-03-13 17:49
> しかしJRockitですが、現在のJVM環境を変えずにスレッド等の解析を行うという条件に対 
> し、これは現実的な対応を図れそうです。
いや、JRockit は JVM なので、実行環境の JVM も変える必要があります。JRockit Management Console は Sun の JVM には接続できません。

> Ctrl-Breakで作成されるダンプファイルが見当たらないのですが、どこに作成されるのでしょうか。
標準出力、または標準エラー出力に記録されます。
http://yusuke.homeip.net/diary/2006/09/21/1158846052527.html

[ メッセージ編集済み 編集者: インギ 編集日時 2007-03-13 17:50 ]
いちご
ベテラン
会議室デビュー日: 2007/03/13
投稿数: 80
投稿日時: 2007-03-13 18:17
>>インギさん
 ご助言助かります。
 やだ、先のご指摘にもございましたようにtomcat4.1.3で動かしておりますので、
 DOS画面上では、なにやらスレッドに関する情報が表示されておりますが、stderr.logを
 みても、やはり「Ctrl-Break」によって作成されたような情報はロギングされておりませ 
 ん。
 tomcat4.1.3では難しいのでしょうか。。
 JRockitの件、承知いたしました。スレッドの解析は、当面「Ctrl-Break」による方法で
 なにか情報を追跡してみたいと思います。
   
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-03-13 19:09
> DOS画面上では、なにやらスレッドに関する情報が表示されておりますが、stderr.logを
「なにやらスレッドに関する情報」がスレッドダンプではないでしょうか?

>Full thread dump Java HotSpot(TM) XXXXX VM (1.X.X-XX mixed mode):
とかいう行から始まるのがスレッドダンプです。
複数回取って、動きのないスレッド(フリーズしているスレッド)が何をしているのか確認しましょう。
フリーズしているスレッドは、侍で解析すると "<" のマークが付きます。
http://yusuke.homeip.net/samurai/#content_1_6
いちご
ベテラン
会議室デビュー日: 2007/03/13
投稿数: 80
投稿日時: 2007-03-13 19:29
>>インギさん
 ご助言本当に感謝いたします。
 Full thread dump Java HotSpot(TM) XXXXX VM (1.X.X-XX mixed mode):
 という箇所がありました。
 確かにスレッドダンプを吐いておりました。 
 この手段で、検証のほうよりあえずは進めてみたいと思います。
 貴重なお時間を割いて、ご助言賜りましたこと深く感謝いたします。
 誠に有難うございました。
 また、何かございましたら、ご助言頂ければ幸いでございます。
 インギさん。有難うございました。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-03-13 19:49
うまくいっているようで何よりです

ちなみに DOS プロンプトに出ているスレッドダンプを解析するのはかなり苦痛を伴いますので、ファイルにリダイレクトしておくことをお勧めします。

スキルアップ/キャリアアップ(JOB@IT)