사용자 도구

사이트 도구


java:performance:threaddump

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:performance:threaddump [2018/04/06 17:02]
kwon37xi [Java ThreadDump]
java:performance:threaddump [2023/02/14 13:54] (현재)
kwon37xi [dump 뜨기]
줄 1: 줄 1:
 ====== Java ThreadDump ====== ====== Java ThreadDump ======
 +  * [[java:jcmd|jcmd]]
 +  * [[https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstack.html|jstack]]
   * [[http://fastthread.io/|FastThread.io]] Online Fast Thread Dump   * [[http://fastthread.io/|FastThread.io]] Online Fast Thread Dump
   * [[http://fasterj.com/tools/threadanalysers.shtml|FasterJ Thread Dump analyzer 링크 모음]]   * [[http://fasterj.com/tools/threadanalysers.shtml|FasterJ Thread Dump analyzer 링크 모음]]
줄 9: 줄 11:
   * [[http://code.nomad-labs.com/2010/11/18/identifying-which-java-thread-is-consuming-most-cpu/|Identifying which Java Thread is consuming most CPU]]   * [[http://code.nomad-labs.com/2010/11/18/identifying-which-java-thread-is-consuming-most-cpu/|Identifying which Java Thread is consuming most CPU]]
   * [[https://github.com/sparameswaran/threadlogic|ThreadLogic]] : 아직까지 보기엔 제일 나은 듯. 다중 쓰레드 덤프 못 읽는 문제 생긴 듯.   * [[https://github.com/sparameswaran/threadlogic|ThreadLogic]] : 아직까지 보기엔 제일 나은 듯. 다중 쓰레드 덤프 못 읽는 문제 생긴 듯.
-====== waiting 하고 있는 monitor가 있는데 어느 쓰레드가 해당 monitor를 locking 하고 있는지 정보가 없는 상황  ======+ 
 +===== dump 뜨기 ===== 
 +<code sh> 
 +# java process 확인 
 +jps 
 + 
 +# jstack 
 +jstack <PID> 
 + 
 +# jcmd 
 +jcmd <PID> Thread.print 
 + 
 +# kill -3 : process system.out 으로 출력된다. 
 +kill -3 <PID> 
 +</code> 
 +  * ''kill -3''의 경우 다음 옵션을 주고 JVM을 띄웠다면 해당 파일(''~/jvm.log'')로 thread dump가 떠진다. 
 +<code> 
 +-XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=~/jvm.log 
 +</code> 
 +===== waiting 하고 있는 monitor가 있는데 어느 쓰레드가 해당 monitor를 locking 하고 있는지 정보가 없는 상황  =====
   * Thread Dump를 떴을 때 분명 ''wait for  <monitor_num>''은 존재하는데 ''locked <nonitor_num>''은 존재하지 않는 경우가 있음.   * Thread Dump를 떴을 때 분명 ''wait for  <monitor_num>''은 존재하는데 ''locked <nonitor_num>''은 존재하지 않는 경우가 있음.
   * TDA 가 출력한 내용에 따르면,   * TDA 가 출력한 내용에 따르면,
줄 28: 줄 49:
   * [[http://openparadigm.tistory.com/m/post/30|자바 쓰레드에 대한 모든것!!..은 아니고;;(JAVA Thread)]] - Java Thread에 관한 간단한 정리   * [[http://openparadigm.tistory.com/m/post/30|자바 쓰레드에 대한 모든것!!..은 아니고;;(JAVA Thread)]] - Java Thread에 관한 간단한 정리
   * [[https://dzone.com/articles/how-to-take-thread-dumps-7-options|7 Options for Capturing Thread Dumps]]   * [[https://dzone.com/articles/how-to-take-thread-dumps-7-options|7 Options for Capturing Thread Dumps]]
 +  * [[https://www.baeldung.com/java-analyze-thread-dumps|How to Analyze Java Thread Dumps]]
 +  * [[https://www.baeldung.com/java-thread-dump|Capturing a Java Thread Dump | Baeldung]]
java/performance/threaddump.1523003576.txt.gz · 마지막으로 수정됨: 2018/04/06 17:02 저자 kwon37xi