사용자 도구

사이트 도구


java:performance

문서의 이전 판입니다!


Java Performance

Java World Java Performance Series

32bit/64bit JVM

  • Should I use a 32- or a 64-bit JVM? : 32bit JVM의 성능이 더 좋다.
  • 64bit JVM은 32bit 보다 30~40%의 Heap을 더 사용한다. 따라서 더 많은 메모리 할당이 필요하고, GC할 때 더 많은 시간이 걸린다.
  • 32bit JVM의 제약
    • 리눅스 : 최대 2GB Heap, hugemem 커널의 경우 3GB
    • 윈도우 : 최대 1.5GB Heap, /3GB 부트 플래그가 있고 JRE가 /LARGEADDRESSAWARE 옵션으로 컴파일 됐을 경우 3GB
    • Mac OS X : 3.8GB

JVM의 Heap을 무한정 늘리지 말 것

  • JVM Heap을 무한정 늘리면 Full GC 시간 증가로 인해 오히려 성능 병목이 될 수 있다.
  • 32bit JVM을 사용하고 2~4GB 이하의 Heap 설정을 사용하는게 나을 수 있다.
  • JVM의 Heap을 증가시키기 보다는 JVM을 여러 대 띄운다.
  • JVM을 여러개 띄울 수 없다면,

HashMap.get, HashMap.getEntry 에 대한 동시 접근은 CPU 사용률 증가(High 100%) 유발

java/performance.1435023411.txt.gz · 마지막으로 수정됨: 2015/06/23 10:36 저자 kwon37xi