Perfil 1.JConsole
Jconsole (Java Monitoreo y Management Console) es una basada en JMX (Java Management Extensions) monitoreo visual y herramienta de gestión. Su función principal es la recogida de información y para ajustar dinámicamente los parámetros del sistema a través de JMX MBean (ManagedBean).
inicio 2.JConsole
Por el jconsole inicio jconsole.exe bajo JDK directorio / bin, buscará automáticamente todo el proceso de la máquina virtual de la máquina en funcionamiento, sin que sea necesario que el usuario utilice sus propias consultas JPS. También puede utilizar las siguientes funciones "proceso remoto" para conectarse a un servidor remoto, remoto monitor de máquina virtual.
la conexión remota de referencia: https://www.cnblogs.com/think-in-java/p/6138439.html
3.JConsole Introducción
3.1 Información general
monitor de pantalla de información de uso de CPU, uso de memoria, número de hilos, máquina virtual de Java en la pestaña general de la clase cargado. Justo sola carta puede guardar los datos.
3.2 memoria
etiquetado de memoria "la implementación de GC" botón, puede hacer clic para realizar la recolección de basura.
3.3 hilo
En el "hilo" en las listas de lista de la izquierda más bajas todos los hilos activos. Si introduce un campo de cadena "filtro", lista de temas sólo mostrará su nombre contiene la cadena que introduzca el hilo. Haga clic en una lista de nombres de procesos en el hilo, se muestra el hilo del derecho a la información, incluyendo el nombre de la rosca, el estado, el número de bloqueo y seguimiento de la pila de espera.
número máximo de hilos: Rojo
Azul: el número de hilos activos
Interbloqueo de subproceso de detección: Para comprobar si su aplicación ha llegado a un punto muerto en funcionamiento (por ejemplo, su aplicación parece estar colgado), el punto muerto hilo puede "detectar los puntos muertos" de detección de botón haciendo clic. Si detecta cualquier callejones sin salida de rosca, éstos se muestran en una nueva pestaña aparece junto a la pestaña "Tema"
empaquetar com.ryj.hotspot; importación java.io.BufferedReader; importación java.io.IOException; importación java.io.InputStreamReader; público de clase JConsoleTest { static void createBusyThread () { Thread t = nuevo hilo ( nueva Ejecutable () { @ Override pública vacío run () { // generada automáticamente TODO Stub , mientras que ( verdadera ) { } } }, "testBusyThread" ) ; t .comienzo(); } Static void createLockThread (bloqueo de Object) { Thread t = nuevo hilo ( nueva Ejecutable () { @ Override pública vacío run () { sincronizada (bloqueo) { try { lock.wait (); } catch (InterruptedException e) { // bloque catch generada automáticamente TODO e.printStackTrace (); } } } }, "testLockThread" ); t.Start (); } Pública estática vacíos principales (args String []) lanza IOException { BufferedReader br = nueva BufferedReader ( nuevo InputStreamReader (System.in)); br.readLine (); createBusyThread (); br.readLine (); Object obj = nuevo Object (); createLockThread (obj); } }
3.4 Clase
3.5VM general