⚠️ 힙 덤프를 뜨는 동안에는 JVM 실행이 멈춤
jmap은 운영체제에서 남기는 코어 파일로부터 자바 메모리 덤프를 추출할수도 있다. (이는 jstack 명령어도 마찬가지)
$ jmap -dump:format=b,file=<PATH> <PID>
$ jmap -dump:live,format=b,file=<PATH> <PID>
$ jmap -F -dump:format=b,file=<PATH> <PID>
format
b: 메모리 내용 자체를 덤프 파일로 남기는 바이너리 모드 (일반적으로 이걸 사용)a: 객체의 주소, 크기, 멤버의 주소를 텍스트로 남김live: 살아있는 객체만 덤프에 포함 (없으면 모든 힙 메모리 덤프)F옵션: force 옵션, JVM이 먹통일때 사용 (live 옵션 지원안함)kill -3 명령 또는 Ctrl+Break(윈도우 계열)로 JVM에 시그널을 보냈을때 힙 덤프를 남길 수도 있다.-XX:+HeapDumpOnOutOfMemoryError: OutOfMemory
-XX:HeapDumpPath=/home/jongpak/dumps