jstatd나 JMX 기반으로 JVM의 메모리 사용량 및 스레드 동작 상태를 모니터링

JVM 기동시 아래 옵션을 주고 기동
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=XXXX
-Dcom.sun.management.jmxremote.ssl=false
이미 구동된 JVM에 대한 모니터링이 가능함 하지만 JMX에 비해 일부 기능에 제약이 있음
# 1. jstatd.all.policy 작성
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermisssion;
}
# 2. RMI 레지스트리에 사용할 포트를 등록
$ rmiregistry <PORT>
# 3. jstatd 기동
$ jstatd -J -Djava.security.policy=jstatd.all.policy -p <PORT>
# 4. VisualVM 으로 해당 포트로 접속하여 모니터링