JAVA VirtualVM 원 격 모니터링 설정

2077 단어 JAVA메모리레저EE
Virtual VM 은 JDK 6 Update 7 이후 출시 된 도구 로 다른 JDK 도 구 를 집합 하 는 경향 이 있 습 니 다.현재 JDK 7 버 전 은 대부분의 모니터링 기능 을 지원 하고 있 습 니 다.Jprofile 과 Youkit 처럼 실시 간 으로 메모리 스 택 을 추적 하여 메모리 유출 문 제 를 찾 을 수 없 을 것 같 습 니 다.
 
원 격 응용 연결 에 대해 Virtual VM 은 두 가지 방식 을 제공 합 니 다.JMX 와 jstatd 입 니 다.다음은 이 두 가지 연결 설정 을 소개 합 니 다.
  • JMX:

  • 원 격 서버 의 jdk 디 렉 터 리 에 있 는 jre/lib/management 에서 jmxremote.password.template 파일 을 찾 은 다음 pwd.file 이 가리 키 는 파일(예:cp./jmxremote.password.template/jmx/jmx.pwd)로 복사 하여 jmx.pwd 파일 의 마지막 줄 에 사용자 이름과 비밀 번 호 를 추가 합 니 다. 
    jmx jmx
    JVM 인자 추가
    JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.port=6789" 
    JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.pwd.file=/jmx/jmx.pwd"  
    JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.ssl=false" 
    JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.authenticate=false" 
    마지막 으로 원 격 서버 애플 리 케 이 션 을 다시 시작 하면 JAVA VirtualVM 으로 연결 할 수 있다.
     
  • jstatd:

  • 원 격 서버 에 java.policy 파일 을 만 듭 니 다.예 를 들 어:
     
       
       
       
       
    1. /tmp/jstatd.java.policy 
    2. grant codebase "file:${java.home}/../lib/tools.jar" { 
    3.    permission java.security.AllPermission; 
    4. }; 

     
    원 격 서버 의 jstatd 프로 세 스 시작:
     
       
       
       
       
    1. jstatd -J-Djava.security.policy=/tmp/jstatd.java.policy -J-Djava.rmi.server.logCalls=true 

    그리고 클 라 이언 트 에서 JAVA VirtualVM 으로 연결 할 수 있 습 니 다. 
     
     

    좋은 웹페이지 즐겨찾기