본문 바로가기

Linux

[Linux] Java 애플리케이션 스레드 덤프 따는 방법

Java 8 이상부터 jcmd 사용 권장

애플리케이션이 실행중인 서버에서 아래 명령 입력

# 스레드 덤프 획득

jcmd ${pid} Thread.print > ${dump-file-path}

 

필자의 경우 서버 과부하 발생 시 위 명령을 통하여 dump.log 파일과 같은 형태로 덤프내용을 저장한 뒤 워커 스레드에서 실행중인 api 정보를 획득하고, 해당 소스를 분석하여 과부하 발생 지점 찾음 (주로 쿼리를 잘못 작성하여 너무 많은 결과집합을 was 서버로 전달하여 힙 메모리 풀 차는 경우가 많은듯...)

 

 

 

Reference : jcmd man page

'Linux' 카테고리의 다른 글

[Linux] Ubuntu apt cheat sheet  (2) 2024.11.06