[WLS, Java] Different ways to take thread dumps in WebLogic Server
Sabtu, 28 September 2013
0
komentar
https://blogs.oracle.com/vijaya/entry/different_ways_to_take_thread
WebLogic Serverでスレッドダンプを取る方法あれこれ
WebLogic Server (WLS) およびJavaでは様々な方法でスレッドダンプを取ることができます。その方法の詳細を以下にまとめました。スレッドダンプ採取にあたっては、Javaクラスや管理コンソールではなく、OSコマンドを使うことを常に推奨します。それは、管理コンソールがハングアップした場合、ユーザーが接続できずスレッドダンプを採取できなくなるからです。- WebLogic Serverをコマンドラインスクリプトから立ち上げている場合、OSコマンドを使いスレッドダンプを取得する。
- Windowsでは、スレッドダンプの採取方法は以下の通りです。
スレッドダンプをサーバーの標準出力に生成する
<ctrl>+<break>
- POSIX互換プラットフォーム(SolarisやLinuxなど)では、まずプロセスID(pid)を
で特定した上で、以下のコマンドを発行します。ps -ef | grep java
シグナル3はSIGQUITと等価です。Solarisの場合、スレッドダンプを現在のシェルで生成しますが、Linuxではpidによって特定されたJavaプロセスを開始したシェルにスレッドダンプが生成されます。kill -3 <pid> 2>&1
- Windowsでは、スレッドダンプの採取方法は以下の通りです。
- beasvcを利用する (WebLogic Server 10.3.5まで):
beasvc -dump -svcname:<service_name>
- <service_name>はサーバーインスタンスを実行するWindowsサービスです(例:mydomain_myserver)
- wlsvcを利用する(10.3.6、12.1.1から)
wlsvc -dump -svcname:<service_name> -log
- WLSTを使う
スレッドダンプをThread_Dump_AdminServer.txtに出力します。setDomain.cmd もしくは setDomain.sh
java weblogic.WLST
connect("<username>","<password>","t3://<url>:<port>")
threadDump()
Note 1274713.1では、WLSTスレッドダンプの詳細(各ダンプの時間間隔の設定方法やスレッドダンプ採取回数の設定など)について説明とサンプルがあります。How To Take Thread Dumps With WLST (Doc ID 1274713.1)(My Oracle Supportのアカウントが必要です)
https://support.oracle.com/epmos/faces/DocContentDisplay?id=1274713.1 - WebLogic Server 9.0までであれば、コマンドラインもしくはシェルから、スレッドダンプを以下のコマンドで生成することができます。
スレッドダンプを指定したサーバー標準出力先に生成します。setDomain.cmd もしくは setDomain.sh
java weblogic.Admin <url>:<port> -username <username> -password <password> THREAD_DUMP - WebLogic Server管理コンソールから、[サーバー]>[サーバー名]>[監視]>[スレッド]とたどり、[スレッドスタックのダンプ]をクリックするとスレッドダンプを生成できます。この方法の場合、スレッドダンプが切り捨てられたり、不完全なものができる場合があります。
- WebLogic ServerをWindowsサービスとして実行している場合、サービス管理ツールからスレッドダンプを生成することができます。詳しくはMy Oracle Supportからサポートドキュメントをご覧下さい。
Collect thread dump in GUI mode when WebLogic Server is running as Windows Service (Doc ID 1348645.1)
https://support.oracle.com/epmos/faces/DocContentDisplay?id=1348645.1 - Java VisualVMを使い、スレッドダンプをアプリケーション実行中に取得することも可能です。詳細は以下のリンクをご覧下さい。
Java VisualVM - Working with Local Applications
http://docs.oracle.com/javase/6/docs/technotes/guides/visualvm/applications_local.html - jstackを使ってスレッドダンプを取得します。
ロックに関する追加情報を表示したい場合はjstack <pid>
jstack -l <pid>
- JRockit Mission Controlをお使いの場合、jrcmdを使って取得することができます。
jrcmd <pid> print_threads
- (訳者による追加)JDK 7の場合(7u4以後)、jcmdを使って取得することができます。
jcmd <pid> Thread.print
TERIMA KASIH ATAS KUNJUNGAN SAUDARA
Judul: [WLS, Java] Different ways to take thread dumps in WebLogic Server
Ditulis oleh Unknown
Rating Blog 5 dari 5
Semoga artikel ini bermanfaat bagi saudara. Jika ingin mengutip, baik itu sebagian atau keseluruhan dari isi artikel ini harap menyertakan link dofollow ke http://apk-zipalign.blogspot.com/2013/09/wls-java-different-ways-to-take-thread.html. Terima kasih sudah singgah membaca artikel ini.Ditulis oleh Unknown
Rating Blog 5 dari 5
0 komentar:
Posting Komentar