![Kill -3을 사용하는 Java 스레드 덤프](https://linux55.com/image/144518/Kill%20-3%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20Java%20%EC%8A%A4%EB%A0%88%EB%93%9C%20%EB%8D%A4%ED%94%84.png)
스레드 덤프를 가져오기 위해 다음 방법을 사용한 적이 있습니다.
kill -3 `pidof java`
catalina.out
대신 이 출력을 파일에 저장하는 방법 catalina.out
일반적으로 kill 명령은 이를 stdout 또는 stderr로 출력하지 않으므로 스크립트를 로그로 리디렉션하거나 exec를 사용하여 이를 수행할 수 없습니다. 그것을 얻기 시작했는데 그것을 할 수 있는 방법이 있습니까?
답변1
을 사용하고 싶을 수도 있습니다 jstack $(pidof java) > MYFILE
.
답변2
이 도구는 Java 버전 7 이상에서 사용할 수 jcmd
있으며 Oracle에서 권장하는 옵션입니다. 및 jcmd
같은 여러 진단 도구의 기능을 집계합니다 .jstack
jmap
다음 jcmd
명령을 실행하여 PID가 1234인 프로세스의 스레드 덤프를 가져올 수 있습니다(출력이 파일로 리디렉션됨).
jcmd 1234 Thread.print > thread-dump.txt
자세한 내용은 여기를 참조하세요:jcmd 유틸리티,jcmd 매뉴얼 페이지