728x90
반응형
SMALL
기존에 product.jar 모듈 실행시키는 스크립트 (ex. start.sh)
nohup java -Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m -Dlogging.config=/productName/.conf/product_logback.xml -jar /productName/product.jar > /dev/null 2>&1 &
cpulimit 처리를 위한 스크립트 추가
nohup java -Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m -Dlogging.config=/productName/.conf/product_logback.xml -jar /productName/product.jar > /dev/null 2>&1 &
new_pid=`ps -ef | grep -v grep | grep -v /bin/sh | grep "/productName/product.jar" | awk '{print $2}'`
nohup cpulimit -p $new_pid -l 30 > /dev/null 2>&1 &
cpulimit 을 30% 로 설정했으며 이는 single core 기준이다.
jmx 를 이용하여 visualvm 으로 cpulimit 이 잘 동작하는지 확인 하기 위해 java -Xms512m .... 부분에 아래와 같은 옵션을 추가 한다.
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port={port}
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname={ip}
nohup java -Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m -Dlogging.config=/productName/.conf/product_logback.xml -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9098 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.107.252 -jar /productName/product.jar > /dev/null 2>&1 &
./start.sh 로 실행시키고
client PC 에서는 visualvm 을 실행시킨다.
Remote 에 host 를 추가하고
JMX Connection 을 추가한다.
CPU 를 확인한다.
728x90
반응형
LIST
'IT > JAVA' 카테고리의 다른 글
Cursor 와 Transaction 의 관계 (feat. fetch size) (0) | 2023.04.11 |
---|---|
How can I get jar file's Implementation version (0) | 2023.02.20 |
CompletableFuture 를 이용한 Mybatis 쿼리 여러개 동시 수행 (0) | 2022.06.24 |
Ehcache Event Listener (0) | 2021.09.13 |
Java ProcessBuilder cd 로 이동 (0) | 2021.07.23 |