- - PR -
JAVA スレッドダンプの取得方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-09-26 11:30
こんにちわ。
[環境] Vine Linux 3.2 jdk1.5.0_11 Apache 2.2.3 Tomcat 5.5 システムに障害がおき、 http://yusuke.homeip.net/diary/2006/09/21/1158846052527.html を参考にJAVAのスレッドダンプを取得しようとしております。 ですが、ダンプが??な内容(javaと入力し実行した時のコマンド説明のようなもの) が出力されて困っております。 ご教授願いします。 [操作方法] # java > console.log # pstree -p | grep java |-java(26672)---java(26673)-+-java(26674) | |-java(26675) | |-java(26676) | |-java(26677) | |-java(26678) | |-java(26679) | |-java(26680) | |-java(26682) | |-java(26683) | |-java(26684) | |-java(26685) | |-java(26686) | |-java(26687) | |-java(26688) | |-java(26689) | |-java(26690) | |-java(26691) | |-java(26692) | |-java(26693) | |-java(26694) | |-java(26695) | |-java(26696) | |-java(26697) | |-java(26698) | |-java(26699) | |-java(26700) | |-java(26701) | |-java(26702) | |-java(26703) | |-java(26704) | |-java(26705) | |-java(26706) | |-java(26707) | |-java(26708) | |-java(26709) | |-java(26710) | |-java(26711) | |-java(26712) | `-java(26713) # kill -3 26672 [console.log] Usage: java [-options] class [args...] (to execute a class) or java [-options] -jar jarfile [args...] (to execute a jar file) where options include: -d32 use a 32-bit data model if available -d64 use a 64-bit data model if available -client to select the "client" VM -server to select the "server" VM -hotspot is a synonym for the "client" VM [deprecated] The default VM is client. -cp <class search path of directories and zip/jar files> -classpath <class search path of directories and zip/jar files> A : separated list of directories, JAR archives, and ZIP archives to search for class files. -D<name>=<value> set a system property -verbose[:class|gc|jni] enable verbose output -version print product version and exit -version:<value> require the specified version to run -showversion print product version and continue -jre-restrict-search | -jre-no-restrict-search include/exclude user private JREs in the version search -? -help print this help message -X print help on non-standard options -ea[:<packagename>...|:<classname>] -enableassertions[:<packagename>...|:<classname>] enable assertions -da[:<packagename>...|:<classname>] -disableassertions[:<packagename>...|:<classname>] disable assertions -esa | -enablesystemassertions enable system assertions -dsa | -disablesystemassertions disable system assertions -agentlib:<libname>[=<options>] load native agent library <libname>, e.g. -agentlib:hprof see also, -agentlib:jdwp=help and -agentlib:hprof=help -agentpath:<pathname>[=<options>] load native agent library by full pathname -javaagent:<jarpath>[=<options>] load Java programming language agent, see java.lang.instrument | ||||||||
|
投稿日時: 2007-09-26 14:36
# java > console.log
としたら java コマンドの説明しか記録されませんよね? 実際に起動してある Tomcat の java プロセスの pid を指定して kill コマンドを実行しましょう。 | ||||||||
|
投稿日時: 2007-09-26 15:09
見るファイルがちゃいまっせ。
ダンプを取りたいJavaプログラムって、Tomcatですよね?
これは不要。
これはOK。 ダンプが出力されるファイルは、$CATALINA_HOME/logs/catalina.outです。 | ||||||||
|
投稿日時: 2007-09-26 16:24
返信ありがとうございます。
インギさん ># java > console.log >としたら java コマンドの説明しか記録されませんよね?。 java(プロセス)をkillしたらconsole.logにスレッドダンプが出力されると勘違いをしていました。 まだまだ勉強不足ですね。。。 カーニーさん >ダンプを取りたいJavaプログラムって、Tomcatですよね? はい。TOMCATです。 >ダンプが出力されるファイルは、$CATALINA_HOME/logs/catalina.outです。 当初、別のホームページを参照しcatalina.outを確認していたのですが、 killに対してのダンプは何も出力されていなかったのです。 再度、プロセスを確認しkillしましたがやはり何もでないです。 一つ気になっているのがpstree -p | grep javaで表示される親・子PIDの中に 障害となっているスレッドのPIDが無い事です。←apache statusのPID確認 ちなみにapache statusで見たPIDをkillしてもcatalina.outには何も出力されません。 | ||||||||
|
投稿日時: 2007-09-26 18:22
>障害となっているスレッドのPIDが無い事です。←apache statusのPID確認
apache status の PID って何でしたっけ? Tomcat 内の障害であれば apache 自体は関係ないのでは? | ||||||||
|
投稿日時: 2007-09-26 22:55
インギさん
>apache status の PID って何でしたっけ? こんな感じです。 ↓↓↓ Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request 0-1 1728 0/1005/1005 W 0.55 0 0 0.0 2.65 2.65 IPアドレス サーバ名 GET /server-status?refresh=1 HTTP/1.1 1-1 1729 0/1000/1000 _ 0.62 3 0 0.0 2.05 2.05 IPアドレス サーバ名 GET /favicon.ico HTTP/1.1 >Tomcat 内の障害であれば apache 自体は関係ないのでは? たしかにTomcatの障害を調べるのにapacheを調べても意味がないですね。 勉強になります。 | ||||||||
|
投稿日時: 2007-09-27 10:54
# pstree -p | grep java
|-java(26672)---java(26673)-+-java(26674) | |-java(26675) (省略) | `-java(26713) # kill -3 26672 # CATALINA_HOME/bin/shutdown.sh でスレッドダンプを出力できました。 ありがとうございました。 | ||||||||
|
投稿日時: 2007-09-28 13:17
当初の方法で取得できていたということでしょうかね?
シャットダウンする必要はないと思います。 |