Tips

Java Heap & GC Tuning

알 수 없는 사용자 2008. 8. 25. 17:21
서버의 경우 -server 옵션을 주고,

Heap의 크기를 다음 옵션으로 증가시킨다.

-Xmx512m -Xms512m

최대 Heap 크기와 최소 Heap 크기를 동일하게 함으로써,

resizing에 따른 오버헤드를 피할 수 있다.

Heap 크기가 너무 작으면 GC가 빈번하게 발생한다.

이는 GC의 CPU 점유율이 증가시켜 성능 저하를 야기시킨다.

Heap 크기가 너무 크면 OS에서 가상 메모리를 할당한다.

이는 할당된 메모리가 swap in/out함으로써 성능 저하를 야기시킨다.

적당한 Heap 크기를 결정하는 것이 중요하다.

그 외에 세부적인 튜닝은 다음 문서들을 참고하자.

http://polly97.wordpress.com/2006/08/10/jvm-gc%EC%99%80-%EB%A9%94%EB%AA%A8%EB%A6%AC-%ED%8A%9C%EB%8B%9D/
http://fedora.fiz-karlsruhe.de/docs/Wiki.jsp?page=Java%20Heap%20%26%20GC%20Tuning