문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
java:performance:threaddump [2018/03/06 13:11] kwon37xi |
java:performance:threaddump [2023/02/14 13:54] (현재) kwon37xi [dump 뜨기] |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Java ThreadDump ====== | ====== Java ThreadDump ====== | ||
| + | * [[java: | ||
| + | * [[https:// | ||
| * [[http:// | * [[http:// | ||
| * [[http:// | * [[http:// | ||
| 줄 8: | 줄 10: | ||
| * [[http:// | * [[http:// | ||
| * [[http:// | * [[http:// | ||
| - | * [[https://java.net/projects/ | + | * [[https://github.com/sparameswaran/ |
| + | |||
| + | ===== dump 뜨기 ===== | ||
| + | <code sh> | ||
| + | # java process 확인 | ||
| + | jps | ||
| + | |||
| + | # jstack | ||
| + | jstack < | ||
| + | |||
| + | # jcmd | ||
| + | jcmd <PID> Thread.print | ||
| + | |||
| + | # kill -3 : process system.out 으로 출력된다. | ||
| + | kill -3 < | ||
| + | </ | ||
| + | * '' | ||
| + | < | ||
| + | -XX: | ||
| + | </ | ||
| + | ===== waiting 하고 있는 monitor가 있는데 어느 쓰레드가 해당 monitor를 locking 하고 있는지 정보가 없는 상황 | ||
| + | * Thread Dump를 떴을 때 분명 '' | ||
| + | * TDA 가 출력한 내용에 따르면, | ||
| + | * a VM Thread is holding it. | ||
| + | * This lock is a java.util.concurrent lock and the thread holding it is not reported in the stack tracebecause the JVM option -XX: | ||
| + | * This lock is a custom java.util.concurrent lock either not based off of AbstractOwnableSynchronizer or not setting the exclusive owner when a lock is granted. | ||
| + | * 일반적으로는 '' | ||
| ===== nid/tid ===== | ===== nid/tid ===== | ||
| 줄 21: | 줄 49: | ||
| * [[http:// | * [[http:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||