자바 모니터링 jdk 1.6.0 부터

2010. 7. 12. 13:1099. 정리전 - IT/11. Java

http://jnylove.tistory.com/335

JDK 1.6.0.18을 설치하면..Visual VM 이라는 모니터링 툴이 같이 설치가 된다...
이 Visual VM을 이용해서 java process를 모니터링 해보자~



위 그림처럼 jvisualvm.exe 파일이 보인다.
실행 파일을 더블클릭하면. 아래 그림처럼.. Visual VM이 실행된다.




실행되면. 아래 그림과 같은 창이 나타나는데..
Local 항목을 보면. 이미 내 PC에 실행중인 java process에 대한 정보들이 자동으로 등록된 것을 확인할 수 있다.
weblogic.Server 항목을 더블클릭하면 화면의 오른쪽에 해당 process에 대한 정보가 보인다.



오른쪽 화면에서 "Monitor" 탭을 클릭하면, Heap, Classes, Threads 에 대한 모니터링 상황을 볼 수 있다.



이제, 서버의 process를 모니터링 하는 법을 알아보자.
왼쪽의 메뉴에서 "Remote"를 선택하고 마우스 오른쪽 버튼을 클릭하면  "Add Remote Host" 메뉴가 보인다.



"Add Remote Host" 메뉴를 클릭하면 서버의 IP를 입력하는 창이 나타난다.
서버의 IP를 입력하고, "OK" 버튼을 클릭한다.




이제, 왼쪽 메뉴에서 "Remote" 메뉴 밑에 방금 추가한 서버의 IP가 보이는데, 이를 선택하고 마우스 오른쪽 버튼을 클릭하고,
메뉴중에 "Add jstatd Connection" 메뉴를 선택한다.



위에서 등록한 서버의 jstatd 와 통신하기 위한 설정을 추가한다.



자, 이제 서버에 jstatd를 설정하는 방법을 알아보자.

서버에서 해야 할 일은 아래의 3가지이다.
1. rmiregistry 실행
2. policy 파일 작성
3. jstatd 실행



첫번째, rmiregistry 실행은

$rmiregistry 2020 &

백그라운드로 2020 포트를 사용한다고 실행하면 된다.
2020포트는 위에서 "Add jstatd Connection" 설정할 때 입력한 포트번호이다.

두번째, policy 파일은

grant codebase "file:${java.home}/../lib/tools.jar" {
   permission java.security.AllPermission;
};


위 내용을 jstatd를 실행하는 디렉토리에 파일로 저장한다.

세번째, jststd는

위에서 만든 policy 파일과, rmiregistry 포트를 이용하여 다음과 같이 실행한다.

$ jstatd -J-Djava.security.policy=jstatd.all.policy -p 2020


위 작업이 모두 끝난후에 Visual VM을 보면 아래 그림과 같이 서버의 java process들에 대한 정보를 확인할 수 있다.


process 중에 하나를 선택하면 요약 정보를 확인할 수 있고,



"Monitoring" 탭을 선택하면 Threads, Classes, Heap 등을 확인할 수 있다.

저작자 표시 비영리 동일 조건 변경 허락