このドキュメントでは、Java の jstack コマンドを使用して Java のスタック ダンプを取得する方法について説明します。このプロセスは、Windows、Linux、およびUNIXで有効であり、Oracleを使用してどのTidalシステムでも1.6+日にJavaバージョンをSun。
シスコはJavaが実行されているオペレーティング システムのJavaの知識と知識があることが推奨されます。また、Java Java Development Kit (JDK)バージョン1.6+は、システムにインストールされている必要があります。
SUN Java JRE 1.6+
Sun Java JDK 1.6+
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
ときどき、マスター ログにない低レベルのスレッド データ キャプチャをサポートする必要があります。
jstackツールを使用したJavaスタック ダンプのキャプチャは、OracleのSunによって、次のステップを提供します。
注: jstackコマンドを実行するには、JavaプロセスがSun Java 1.6+を実行している必要があり、システムにJDKがインストールされている必要があります。Oracle Sun JDKをダウンロードします 。
Javaプロセスを実行しているマシンのプロセスID番号を確認します。
Windowsマシンで、プロセスID番号を見つけるためにタスク マネージャを使用できます。
具体的には、PIDはプロセスID番号です。この列が表示される[View >列>PID (プロセスID)をクリックして追加します。
OSで、EF ps -発行できます | grep UnixMasterコマンドを発行して、プロセスIDを取得します。
root@sunts06:/# ps -ef | grep UnixMaster root 5452 5423 0 14:43:21 pts/14 0:00 grep UnixMaster root 1868 1 0 Jun 09 ? 31:49 /usr/bin/java -DN=UnixMaster -DTI DAL_HOME=/opt/TIDAL/master/bin/.. -Xms256m -Xm root@sunts06:/#
、Sun JDKがインストールされているbinディレクトリを必要とし、移動プロセスID番号があればPID {}プロセスID番号を持つjstack PID {}コマンドを発行します。これは画面にJavaスタック情報が表示されます。
C:\Program Files\Java\jdk1.6.0_25\bin>jstack 3724 2011-06-30 20:07:37 Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.0-b11 mixed mode): "Swing-Shell" daemon prio=6 tid=0x0000000006cce800 nid=0x1bd8 waiting on conditi on [0x000000000843f000] java.lang.Thread.State:WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fb38ace8> (a java.util.concurrent.lock s.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject .await(Unknown Source) at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) at java.util.concurrent.ThreadPoolExecuter.getTask(Unknown Source) at java.util.concurrent.ThreadPoolExecuter$Worker.run(Unknown Source) at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Unknown Source) at java.lang.Thread.run(Unknown Source) "Thread-2" prio=6 tid=0x0000000006cd0800 nid=0xe6c waiting on condition [0x00000 0000833f000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method)
ファイルにスタック情報をリダイレクトするには、WindowsおよびLinux/UNIXの両方で機能するファイルの作成オプションの同じコマンドを実行する:
jstack {PID} > [filename.out]