jconsole 사용하기
일단, JConsole은 어디에 쓰는 걸까요?
JConsole은 JVM을 모니터링하는 툴입니다. 모니터링 항목은 Memory, Threads, Class, CPU Usage가 있습니다.
WAS의 메모리 사용량을 근거 자료로 만들기 위해, JConsole을 사용하게 되었습니다.
그러면, 어디에서 다운로드 받을 수 있을까요?
이미 읽고 계신 분이 개발자시라면, 사용중인 노트북에 이미 있습니다. ㅎㅎ
저도 이걸 몰라 한참 찾았습니다. -_-;
바로 JDK 설치 시에 포함 되어 있는 분석 툴입니다.
경로는 %JDK_HOME%\bin\jconsole.exe 입니다.
1.4때에는 기본적으로 사용이 가능했는데, 1.5부터는 셋팅을 해야한다고 합니다.
궁금한 점이 생겼습니다.
저는 WAS의 메모리 사용량을 보고 싶은데, 이건 JAVA Application을 띄울 때 사용하는 방법인 것 같습니다.
답은, WAS를 모니터링 하기 위해서는 WAS가 Startup될 때, 옵션을 주어 실행하면 됩니다.
현재 WAS(Tomcat 6.X) 메모리 설정이 min 512m, max 1024m 로 설정하겠습니다.
그래서
다음과 같은 내용으로 파일( %TOMCAT_HOME%\bin\run.bat )을 하나 만들었습니다.
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_18
set JAVA_OPTS=-Xms512m -Xmx1024m
set CATALINA_HOME=D:\[WAS]\apache-tomcat-6.0.18
set CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
catalina run
내용은 JAVA_OPTS으로, 메모리를 셋팅하고, CATALINA_OPTS으로 jconsole에서 모니터링을 할 수 있도록 옵션을 줍니다.
-Dcom.sun.management.jmxremote - jmx remote 접속을 허락하겠다.
-Dcom.sun.management.jmxremote.port=8999 - jxm 포트 설정
-Dcom.sun.management.jmxremote.ssl=false - SSL 사용 유무
-Dcom.sun.management.jmxremote.authenticate=false - 인증 유무
Run.bat를 실행하면, 위 옵션으로 Tomcat이 실행하게 됩니다.
그러면, jconsole.exe를 실행할 차례입니다.
그러면, 다음과 같이 JVM을 실시간 모니터링 할 수 있습니다.
어떠세요? 간단한 셋팅만으로, 시스템을 모니터링 할 수 있습니다.
프로젝트가 종료되기 전에, 한번쯤 모니터링을 위해 사용해 보는 것 좋을 것 같다고 생각하며 이 글을 마칩니다.