GC로 인해, 시스템에 장애가 올수도 있으므로 모니터링 및 관리가 필요하다.
※ 오랫동안 Full GC 발생하는 경우
1. Full GC 시간동안 Stop the world로 인해, 서비스가 중지되고
2. 그동안 쌓여있던 Queue로 인한 서비스 부하
※ Old 영역이 작게 할당되있을 경우
Old 영역이 작다면, Full GC의 수행시간이 짧아질수 있다.
그러나 계속 사용되는 객체 양에비해, Old 영역이 작다면 OOM이 발생할 것이다.
관리 옵션
JVM 기동 시, 자원 관련한 옵션들을 간단하게 정리해보았다.
-Xms , -Xmx : Heap 메모리 초기 할당값, 최대값 ( OS에서 프로세스에 할당해주는 값 )
-XX:NewSize : New 영역의 초기 할당값
-XX:MaxNewSize : New 영역의 최대값
-XX:NewRatio : New / Old 영역의 비율
-XX:SurvivorRatio : New / Survivor 영역의 비율
-XX:+UseParallelGC : 다중 스레드로 GC를 수행한다
모니터링 옵션
- GC 수행결과를 출력한다.
-XX:PrintGCDetail : GC에 대한 상세 정보를 출력
-XX:PrintGCTimeStamps : GC 수행시간에 대한 정보 출력
-XX:PrintHeapAtGC : GC시에 힙메모리 정보 출력
- OOM ( Out of Memory )발생시 , 당시에 Heap 메모리 사용량을 파일로 떨어트린다.
※ Heap 메모리 사용량과 동일한 용량으로 파일이 생성되므로, F/S 여유공간을 꼭 확인할 것
-XX:-HeapDumpOnOutOfMemoryError : OOM 발생시 Heap dump 생성
-XX:HeapDumpPath : Heap dump 파일의 위치
# 참조
waspro.tistory.com/340 ( GC 옵션 )
www.holaxprogramming.com/2013/07/20/java-jvm-gc/ ( JVM 기동 옵션 )
'서버운영 > 자바 GC ( Garbage Collection )' 카테고리의 다른 글
GC 튜닝 (0) | 2021.04.06 |
---|---|
GC분석 - GUI를 통한 gc 추이분석 (0) | 2021.04.05 |
GC 분석 - gc 케이스 분석 (0) | 2021.04.05 |
GC ( Garbage Collection ) (0) | 2021.04.04 |