문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
java:performance [2018/03/06 15:36] kwon37xi [Java Performance] |
java:performance [2020/09/17 23:00] kwon37xi |
||
---|---|---|---|
줄 28: | 줄 28: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
===== Java World Java Performance Series ===== | ===== Java World Java Performance Series ===== | ||
줄 35: | 줄 37: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
- | ===== 32bit/64bit JVM ===== | ||
- | * [[http:// | ||
- | * 64bit JVM은 32bit 보다 30~40%의 Heap을 더 사용한다. 따라서 더 많은 메모리 할당이 필요하고, | ||
- | * 32bit JVM의 제약 | ||
- | * 리눅스 : 최대 2GB Heap, hugemem 커널의 경우 3GB | ||
- | * 윈도우 : 최대 1.5GB Heap, ''/ | ||
- | * Mac OS X : 3.8GB | ||
===== JVM의 Heap을 무한정 늘리지 말 것 ===== | ===== JVM의 Heap을 무한정 늘리지 말 것 ===== | ||
* [[http:// | * [[http:// | ||
* JVM Heap을 무한정 늘리면 Full GC 시간 증가로 인해 오히려 성능 병목이 될 수 있다. | * JVM Heap을 무한정 늘리면 Full GC 시간 증가로 인해 오히려 성능 병목이 될 수 있다. | ||
- | * 32bit JVM을 사용하고 2~4GB 이하의 Heap 설정을 사용하는게 나을 수 있다. | ||
* JVM의 Heap을 증가시키기 보다는 JVM을 여러 대 띄운다. | * JVM의 Heap을 증가시키기 보다는 JVM을 여러 대 띄운다. | ||
* JVM을 여러개 띄울 수 없다면, | * JVM을 여러개 띄울 수 없다면, | ||
줄 58: | 줄 52: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | ===== Linux Tuning ===== | ||
+ | * [[linux: | ||
+ | * 기본적으로 '' | ||
+ | ulimit -n 32768 -u 32768 | ||
+ | </ | ||
===== HashMap.get/ | ===== HashMap.get/ |