728x90

java7 이상 4g 이상의 jvm은 G1 알고리즘이 적합

■ java의Default 옵션 알아내기
java -XX:+PrintCommandLineFlags -version

-Xms1024m -Xmx1024m
최초 Heap Size / 최대 Heap Size
-XX:PermSize=256m -XX:MaxPermSize=256m
최초 Prem영역 Size / 최대 Prem 영역 Size
-XX:-UseAdaptiveSizePolicy
JVM에서 Heap Size 조절
-verbosegc -XX:+PrintGCDetails -XX:+PrintGCTimesStamps
GC로그 상세출력
-XX:InitialTenuringThreshold=32 -XX:MaxTenuringThreshold=32
객체의 Mionr GC 수행 횟수 / 객체의 최대 Mionr GC 수행 횟수
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
New 영역 병렬GC 수행 / Old 영역 병렬 GC 수행 / 클래스Data도 GC 수행 
-XX:+DisableExplicitGC
사용자 임의의 GC 수행 비활성화
-XX:SurvivorRatio=8
New영역의 Eden size 비율
Eden 8 : Survivor 1 : Survivor 1
-XX:NewSize=32m -XX:MaxNewSize=512m
최소 최대 New사이즈
-XX:NewRatio=3
Heap영역에서 Old와 New size 비율
Old 3 : New 1
※절대값 설정과 상대값 설정을 혼용한다면 절대값이 우선순위가 높음
-XX:ParallelGCThreads=8
다중 gc를 위해 사용될 gc thread 개수
※활용가능한 프로세서의 수를 기반으로 할 것.
같은 머신에서 여러개의 jvm을 가동할때도 개수 고려할 것
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC
new영역의 gc를 병렬적 사용 및 CMS gc 사용
-XX:+CMSClassUnloadingEnabled
클래스의 데이터도 gc의 대상이 되게 지정

728x90

+ Recent posts