GC.class_histogram (힙 히스토그램 출력)
jcmd <PID> GC.class_histogram
num #instances #bytes class name
----------------------------------------------
1: 295177 29451816 [C
2: 25218 27183000 [B
3: 398213 9557112 java.lang.String
4: 249477 7983264 java.util.HashMap$Node
5: 22932 5951656 [I
6: 44777 3305680 [Ljava.util.HashMap$Node;
7: 65139 3245736 [Ljava.lang.Object;
8: 55669 2693552 [Ljava.lang.String;
9: 33084 2382048 java.lang.reflect.Field
10: 20274 2344280 java.lang.Class
GC.heap_dump (힙 덤프 - 죽은 객체 포함)
jcmd <PID> GC.heap_dump /path/to/heap_dump.hprof
-histo (히스토그램 출력 - 죽은 객체 포함)
jmap -histo <JAVA PID>
-histo:live (히스토그램 출력 - 살아있는 객체만 / 주의: FGC 발생)
jmap -histo:live <JAVA PID>
-dump (힘덤프 - 죽은객체 포함)
jmap -dump,file=/path/to/heap_dump.hprof <JAVA PID>
-dump:live (힘 덤프 - 살아있는 객체만 / 주의: FGC발생)
jmap -dump:live,file=/path/to/heap_dump.hprof <JAVA PID>
jstack <JAVA PID>
# 강제 스레드덤프 (자바프로세스 맛탱이 가서 응답없을 경우..)
jstack -F <JAVA PID>
# C/C++ 스택프레임도 출력
jstack -m <JAVA PID>
-gcutil (GC 상태 출력)