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 |
---|