일단, 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를 실행할 차례입니다.

Remote Process에 서버의 주소와 포트를 적어줍니다. 8999 run.bat에 넣어준 Remote Port입니다.

그러면다음과 같이 JVM을 실시간 모니터링 할 수 있습니다.

 

어떠세요간단한 셋팅만으로시스템을 모니터링 할 수 있습니다.

프로젝트가 종료되기 전에한번쯤 모니터링을 위해 사용해 보는 것 좋을 것 같다고 생각하며 이 글을 마칩니다.

Posted by linuxism
,