# java process 확인 jps # jstack jstack <PID> # jcmd jcmd <PID> Thread.print # kill -3 : process system.out 으로 출력된다. kill -3 <PID>
kill -3
의 경우 다음 옵션을 주고 JVM을 띄웠다면 해당 파일(~/jvm.log
)로 thread dump가 떠진다.-XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=~/jvm.log
wait for <monitor_num>
은 존재하는데 locked <nonitor_num>
은 존재하지 않는 경우가 있음.java.util.concurrent
lock 인 경우로 보이며 JVM option -XX:+PrintConcurrentLocks
로 JVM을 띄워야 명백히 lock을 잡은 쓰레드가 보임.top -H
로 볼 때 PID라고 보임.