일단, 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을 실시간 모니터링 할 수 있습니다.
어떠세요? 간단한 셋팅만으로, 시스템을 모니터링 할 수 있습니다.
프로젝트가 종료되기 전에, 한번쯤 모니터링을 위해 사용해 보는 것 좋을 것 같다고 생각하며 이 글을 마칩니다.
'Development > Java' 카테고리의 다른 글
오라클 vs 아파치재단, 자바 놓고 법적 분쟁 돌입? (0) | 2010.12.13 |
---|---|
아파치재단, 자바 커뮤니티 탈퇴…오라클 자바 통제에 반기 (0) | 2010.12.13 |
Singleton Pattern - 디자인 패턴 (0) | 2010.12.11 |
리눅스에 classpath 설정 (0) | 2010.11.17 |
JVM 메모리 (0) | 2010.11.15 |