문제 해결 시각화 JConsole에 대한 성능 모니터링 도구

1.JConsole 프로필

   JConsole의은 (자바 모니터링 및 관리 콘솔)는 JMX (자바 관리 확장) 영상 모니터링 및 관리 도구를 기반으로. 그 주요 기능은 정보의 수집 및 동적 JMX의 MBean (ManagedBean은)를 통해 시스템의 파라미터를 조정하는 것이다.

2.JConsole 시작

  JDK / 빈 디렉토리 아래 jconsole.exe 시작 jconsole에 의해 자동으로 자신의 JPS 쿼리를 사용하는 사용자가 필요없이 기계가 실행되는 가상 머신의 과정을 모두 밖으로 검색합니다. 또한 원격 서버, 원격 가상 머신 모니터에 연결하기 위해 다음과 같은 "원격 프로세스"기능을 사용할 수 있습니다.

원격 연결 참조 : https://www.cnblogs.com/think-in-java/p/6138439.html

3.JConsole 소개

  3.1 개요

    디스플레이 모니터 정보 CPU 사용량, 메모리 사용량, 스레드 수,로드 된 클래스의 개요 탭에서 자바 VM. 오른쪽 작은 차트는 데이터를 저장할 수 있습니다.

  

  3.2 메모리

       메모리 태그 버튼 "GC의 구현", 당신은 가비지 컬렉션을 수행하기 위해 클릭 할 수 있습니다. 

   

  3.3 스레드

  왼쪽 아래 목록 목록 모든 활성 스레드에서 "실"에서. 당신은 문자열 "필터"필드를 입력하면, 스레드 목록은 그 이름이 당신이 스레드를 입력 한 문자열이 포함되어 표시됩니다. 스레드에서 스레드의 이름 목록을 클릭, 정보에 대한 권리의 스레드는 스레드의 이름, 상태, 차단 및 스택 추적을 기다리는 수를 포함하여 표시됩니다.

  빨강 : thread의 피크 수
  파랑 : 활성 스레드 수

  교착 상태 감지 스레드 : 응용 프로그램 버튼을 클릭하여 (예를 들어, 응용 프로그램이 끊었 것으로 보인다), 스레드 교착 상태가 "교착 상태를 감지 할"수있는 버튼 탐지를 실행하는 막 다른 골목에 도달했는지 확인하십시오. 그것은 어떤 스레드 교착 상태를 감지하면, 다음이 새 탭에 표시됩니다은 "테마"탭 옆에 표시

패키지 com.ryj.hotspot을; 

수입 java.io.BufferedReader의;
수입 때 java.io.IOException;
수입 java.io.InputStreamReader; 

공공  클래스 JConsoleTest { 

    정적  무효 createBusyThread () { 
        스레드 t =  스레드 ( 의 Runnable () { 
            @Override 
            공공  무효 실행 () {
                 // TODO 자동 생성 방법 스텁 
                동안 ( 사실 ) { 

                } 
            } 
        }, "testBusyThread"  ) ;
        t .스타트();
    } 

    정적  무효 createLockThread (개체 잠금) { 
        t을 스레드 =  스레드 ( 의 Runnable () { 
            @Override 
            공공  무효 실행 () {
                 동기 (잠금) {
                     시도 { 
                        lock.wait (); 
                    } 캐치 (예외 : InterruptedException 전자) {
                         // TODO 자동 생성 catch 블록 
                        e.printStackTrace (); 
                    } 
                }  
            }
        } "testLockThread" ); 
        t.start (); 
    } 

    공공  정적  무효 메인 (문자열 [] 인수)이 발생 IOException가이 { 
        BufferedReader의 BR =  의 BufferedReader ( 새로운 InputStreamReader (System.in)); 
        br.readLine (); 
        createBusyThread (); 
        br.readLine (); 
        객체 OBJ = 개체 (); 
        createLockThread (OBJ); 
    } 

}
코드보기

  

  3.4 클래스

 

  3.5VM 개요

 

  3.6Mbean

추천

출처www.cnblogs.com/ryjJava/p/12633925.html