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

+ Recent posts