WAS 인스턴스 기동시 실행환경 설정(JVM Memoery, GC)와 애플리케이션에 필요한 JAVA 옵션 등을 관리할 수 있습니다.,
항목 | 설명 | 예시 |
JVM Memory Options - Memory |
WAS가 VM 에서 메모리를 얼마나 쓸지 지정하는 HeapSize로 일반적으로 2~4G 설정 운영 서버 기준 80% 이하로 CPU/MEM 사용률 유지 (주의) 현재 힙이 1기가인데 최대 메모리 사용량이 2기가니까 heap도 2기가로 늘려야지 => X perm이나 thread 등 여러 요소가 있어서 실제 사용량은 2G 보다 많을 수 있으므로 고려 또한 HeapSize 의 크기가 지나치게 크면 분석이 어렵고, GC도 효율적으로 동작하기 어려움으로 application 의 성능에 영향을 끼치니 적절한 설정 필요 |
-Xms2048m -Xmx2048m |
Meta(Perm) 영역의 크기와 GC 알고리즘 방식을 설정하는 부분 metaspace를 128로 두고 max metaspace를 256으로 하면 max로 늘어날 때가 오히려 부하를 일으킬 수 있어 min=max 설정하기도 함 마찬가지로 지나치게 크게 설정하면 불필요하게 메모리를 더 많이 사용하고, gc에 시간이 걸리기 때문에 좋지 않음 |
-XX:MaxMetaspaceSize=256m | |
JVM Memory Options - GC: GC 설정 |
위 예시에서는 병렬 gc를 사용해서 JVM이 GC를 완료하기 위해 필요한 시간을 줄이고 있고, NEW 영역과 OLD 영역에 각각 설정. (다양한 방법이 있음. G1GC, ZGC...) | -verbose:gc -Xloggc:${LOG_HOME}/gclog/${SERVICE_NAME}-${DATE}.log -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:-UseAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+ExplicitGCInvokesConcurrent |
JVM Memory Options - HeapDump |
OOM (OutOfMemory) 가 발생했을 때, 어떤 동작을 하고 어디에 로그를 남길지 JVM 옵션으로 지정 실제 OOM 이 발생한다고 바로 재기동을 진행하지는 않고, 서비스가 정상적인지 확인하고 Thread Dump 등을 생성해두면 추후 분석에 활용 할 수 있음 (HeapDump 생성은 이미 이슈가 있던 서버에 또 다른 부하를 유발하게 됨) 실제 서비스에서는 OOM 발생 이후에도 특이사항이 없어서 재기동을 진행하지 않고 운영하는 경우도 있기도 함. |
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${LOG_HOME}%\hdump -XX:OnOutOfMemoryError=${LOG_HOME}%\bin\oom.sh |
Business System Java Options - APM |
APM 모니터링 설정 | |
Business System CLASSPATH - DataSource |
DB Driver 정보 |
ex. MariaDB
CLASSPATH="${CLASSPATH}${CATALINA_HOME}/lib/datasource/mariadb-java-client-1.3.6.jar" export CLASSPATH |
LIBRARY_ PATH |
LIBRARY_PATH 정보 | LD_LIBRARY_PATH=${CATALINA_HOME}/lib expert LD_LIBRARY_PATH |
'리눅스' 카테고리의 다른 글
WEB 로그 종류 (0) | 2024.09.23 |
---|---|
OOME 종류 (0) | 2024.09.23 |
Tomcat 로그 종류 (0) | 2024.09.23 |
Tomcat(WAS) 로그 확인 (0) | 2024.09.23 |
Tomcat 주요 설정 파일 구성 (0) | 2024.09.23 |