본문 바로가기
운영체제

heap Dump & Thread Dump

by 이노닝 2025. 5. 31.

안녕하세요.

Unix 기반 운영체제를 사용중에, 웹서버나 모듈의 문제점을 파악하기 위한 

가장 기초자료 조사 방법에 대해 작성하려합니다.

 

가장 기본적으로는 console 및 server.log 등을 찾아 보는 방식인데,

메모리 부족 현상 또는 쓰레드가 튀는 현상이 발견될때

해당 PID의 쓰레드 분석과 메모리 분석을 하기 위한 파일을 생성하는 스크립트입니다.

 

#Heap Dump (메모리 덤프)
jmap -dump:format=b, file=파일명 PID번호
ex) jmap -dump:format=b, file=gw-server_P8080_N3_20250531 4184223

#Thread Dump (쓰레드 덤프)
jstack -l PID번호 > 파일명
ex) jstack -l 4184223 > gw-server_P8080_N3_20250531.log

 

파일명 예시를 저렇게 작성한 이유는

gw-server (어떤 서버인지)

P8080 (포트는 어떤 포트인지)

N3 (노드별로 구성되어있다면 몇번 노드인지)

20250531 (덤프를 뜬 날자 및 시간은 언제인지)

로 구분짓기 위해 위와 같이 덤프합니다. 

로그 분석 파일이 많아지면 찾기 어렵기 때문에 해당 파일명처럼 하면 구분짓기 쉽습니다.