Full GC 발생시 아래사항을 숙지하여 Heap dump를 떠야할
ProFrame Container FULL GC 발생시 Heap Dump & thread dump 뜨는 방법 입니다.
Full GC 발생시 아래사항을 숙지하여 Heap dump를 떠야할 상황에 잘 수행토록 합시다.
[ ProFrame Container PID 알아내는 명령어]
>ps -fu proframe | grep container1
proframe 4819 4623 0 5월 16 ? 03:53:32 /opt/java1.4/jre/bin/IA64W/java -server -Dcontainer1 -Xbootclasspath/p:/nbsdev/package/jeus/lib/system/extension.jar -classpath
[GC 로그 위치]
/nbsdev/package/jeus/logs/gc_log/con_gc.log.PID
[Full GC 발생시 로그 확인 방법]
GC 로그파일을 tail 걸었을 때 아래 첫번째 굵은 값이 2(GC Type : old generation GC or full GC), 마지막 굵은 값이 11.467193 가 2초 이상걸리는 로그가 반복 될때 일반적으로 메모리 부족으로 인한 Full GC가 일어났다고 보면 됩니다.
<GC: 2 1 71649.698721 102 14632 1 286326784 201069016 286326784 35771360 0 35782656 715849624 715849624 715849728 64175256 64175256 134217728 11.467193 11.467193 >
[Heap dump & thread dump 뜨는 방법]
>kill -3 PID
[Heap Dump 파일 위치]
/nbsdev/package/jeus/logs/HeapDump_log/java_PID_yymmdd_hhmmss_heapDump.hprof.txt
heap dump 파일이 크기때문에 다 생성되기까지 시간이 걸림. ls -l 로 확인하여 Size가 더이상 변하지 않으면 다 생성된 것임.
[Thread dump 파일 위치]
/nbsdev/package/jeus/logs/nbtap01/JeusServer_yyyymmdd.log
[정현수 수석 제공]