JVM의 thread dump를 생성하는 명령어.
Unix/Linux의 경우 kill -3 <PID> 명령어를 이용하여 JVM의 thread dump 생성이 가능하지만 Windows의 경우 서비스로 기동되어 있을 경우 command console이 없어 thread dump의 생성이 어려움
이럴 경우 jstack 명령어를 활용하여 thread dump를 생성할 수 있다.
- 필요한 환경
1. UNIX / Linux : JAVA 5 이상
2. Windows : JAVA 6 이상
- 명령어 위치 ( JAVA_HOME은 JDK 설치 폴더를 의미함)
$JAVA_HOME/bin/jstack.exe
- 명령어 사용법
> jps -v
... JVM의 PID를 확인 ...
> jstack <PID> > threadump.txt
예시)
> jps -v
1640 jar -XX:+HeapDumpOnOutOfMemoryError -Xms512m -Xmx512m -XX:NewSize=128m
> jstack 1640 > threadump.txt
threaddump.txt 파일 오픈 시 아래와 같이 thread의 stack trace를 확인해 볼 수 있다.
2014-12-02 19:21:38 Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode): "NanoOffset" daemon prio=6 tid=0x00000000096be800 nid=0x2394 waiting on condition [0x000000000dadf000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at java.lang.Thread.sleep(Thread.java:340) at java.util.concurrent.TimeUnit.sleep(TimeUnit.java:360) at org.apache.jmeter.samplers.SampleResult$NanoOffset.getOffset(SampleResult.java:1321) at org.apache.jmeter.samplers.SampleResult$NanoOffset.run(SampleResult.java:1314) |
by 이환호
정보 출처 : http://docs.oracle.com/javase/6/docs/technotes/tools/index.html#basic
'1. 미들웨어이야기 > 01. JVM' 카테고리의 다른 글
jmap 명령어를 이용항 heap dump 파일 생성하기 (0) | 2014.12.02 |
---|---|
jinfo 명령어를 활용한 JVM 상세 정보보기 (0) | 2014.12.02 |
JPS 명령어를 활용한 JVM PID, 파라미터 확인하기 (0) | 2014.12.02 |
JVM(Java Virtual Machine) 성능 조정 (0) | 2014.09.30 |
GC (G1GC) (0) | 2014.09.30 |