JEUS의 heap size 설정
jvm의 heap 메모리 영역은 아래 그림을 통해 이해할 수 있다.
eden |
From |
to |
old |
NEW (default 16M) Minor collection 대상 |
OLD (default 48M) Major collection 대상 |
- eden : 최초 객체 생성되는 영역
- Survivor Space (From, to) : eden 에서 살아남은 객체들이 복사됨
- old : Survivor space에서 tenure age 를 넘긴 객체들이 복사됨
- permanent space: 클래스, 메소드 객체 등의 jvm 자체의 reflective data 저장.
heap 메모리의 설정은 해당하는 애플리케이션이 필요로 하는 메모리 정도와 애플리케이션의 특성 (객체 생성 및 삭제 등의 빈도 및 주기)등을 충분히 고려해서 설정하여야 한다. 너무 작은 값으로 세팅되었을 경우 “Out Of Memory” Error 가 발생하게 되고, 너무 큰 값으로 세팅되었을 경우에는 Full Garbage collection 시 성능 저하를 유발하는 요인이 될 수 있다.
다음은 jvm에서 heap 메모리 관련 설정 옵션들이다.
-Xms, -Xmx |
최소, 최대 total Heap Memory 설정 |
-Xmn |
최대 New Size 설정 |
-XX:NewRatio |
전체 heap에서 New가 차지하는 비율 |
-XX:NewSize |
초기 New 사이즈 |
-XX:PermSize -XX:MaxPermSize |
초기 perm size, 최대 perm 사이즈 |
-XX:+DisableExplicitGC |
System.gc() 를 무시 |
-XX:+ForceMmapReserved |
TLB(Translation lookaside buffer) 사이즈 변경. Hp 에서는 chatr 를 사용하여 default 4m 에서 64m로 변경 |
-Xoptgc |
복사시 사이즈 체크하지 않고 copy |
위 설정은 sun jdk (1.4.1_XX)기준 옵션들이다. os에 따라 위 옵션들이 다르게 설정될 수 있으므로 위 설정 적용 시 주의해야 한다. 정확한 옵션은 각 OS 웹페이지의 jdk 레퍼런스 사이트를 참조하기 바란다.
JEUS는 jeus manager 프로세스와 container 프로세스로 구성되며 각 프로세스마다 heap memory를 설정하는 부분이 다르다.
jeus manager 의 경우에는 $JEUS_HOME/bin/jeus or jeusp 스크립트에서 설정할 수 있다.
ex)
... java -server -Xmx256m -Xms256m -Xbootclasspath/p:... |
컨테이너의 heap 메모리 사이즈는 $JEUS_HOME/config/노드명/JEUSMain.xml의 <engine-container> 하위 element인 <command-option> 절에서 설정할 수 있다.
ex)
<jeus-system> <node> ... <engine-container> ... <command-option>-Xmx256m -Xms256m </command-option> ... </jeus-system> |
'IT' 카테고리의 다른 글
Vue.js 自体の構文 (0) | 2021.06.26 |
---|---|
제우스 라이브러리 등록방법 (JSP컴파일문제, 클래스패스 문제, 프로퍼티설정 등) (0) | 2021.06.26 |
[JEUS] JEUS 디렉토리 구조 (0) | 2021.06.25 |
9.1 사용자 조건식 불러오기 (0) | 2021.06.25 |
Oracle SQL 강좌 (뷰) (0) | 2021.06.25 |
댓글