좋은 프로그램은 마음의 여유에서 나온다.

JVM 옵션 본문

프로그래밍/JAVA

JVM 옵션

좋은데이 2016. 8. 29. 09:27

JVM 옵션. 하나씩 천천히 공부해가보자.


힙 옵션


-Xms jvm의 최소 힙사이즈 (예 256mb로 설정 -Xms256m)

-Xmx jvm의 최대 힙사이즈 (예 1gb로 설정 -Xmx1G)

-Xss 스레드마다 할당되는 stack size 설정 (예 256kb로 설정 -Xss256k)

-Xnm 힙의 young 영역의 초기사이즈와 최대 사이즈를 설정한다. young영역은 힙의 일부이므로 힙사이즈보다 작아야 함. young 영역 사이즈가 너무 작으면 빈번하게 minor gc가 발생할 것이고 너무 크면 full gc만 일어나므로 적절히 설정해야 하며 오라클의 추천은 힙 사이즈의 1/2 ~ 1/4로 설정(참고)하라고 한다. (예 256mb로 설정 -Xmn256m)


가비지 콜렉터 옵션


-XX:+PrintGC 가비지 콜렉션시의 메시지를 출력한다.

-XX:+PrintGCDetails 가비지 콜렉션시의 상세한 메시지를 출력한다. 자바 1.4이상

-XX:+PrintGCTimeStamps 가비지 콜렉션시의 타임스탬프를 출력한다. 자바 1.4이상

-XX:+HeapDumpOnOutOfMemoryError 아웃오브메모리가 발생할 경우 힙을 덤프떠서 현재 디렉토리에 저장한다.

-XX:+DisableExplicitGC 강제로 GC를 발생시키는 것(System.gc() 같이) 을 무시한다.

-XX:NewRatio New영역과 Old 영역의 크기 비율을 정한다. 숫자가 클수록 Old 영역의 비율이 높아진다.(-XX:NewRatio=1 이면 1:1의 비율 -XX:NewRatio=2이면 New영역 1, Old영역 2의 비율을 갖게 된다)


-Xloggc:경로 gc로그의 저장 경로를 설정


레퍼런스

https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html

http://www.oracle.com/technetwork/articles/java/vmoptions-jsp-140102.html

jvm heap options : https://docs.oracle.com/cd/E19900-01/819-4742/abeik/index.html

https://docs.oracle.com/cd/E19900-01/819-4742/abeik/index.html

http://www.oracle.com/technetwork/java/hotspotfaq-138619.html

'프로그래밍 > JAVA' 카테고리의 다른 글

인텔리제이 lombok 사용하기  (0) 2017.05.08
인텔리제이로 스칼라 시작하기  (0) 2016.12.05
jmx 데이터 읽어오기  (0) 2016.05.26
실행중인 jvm 힙 메모리 보기  (0) 2016.01.04
자바 캐릭터 셋의 이해  (0) 2012.12.06
Comments