Herramientas de monitoreo de rendimiento y solución de problemas [1.8]
- jps
- Herramienta de estado de proceso de JVM, que muestra todos los procesos de máquina virtual HotSpot en el sistema especificado
- De manera predeterminada, se muestra el proceso de la máquina virtual en ejecución: la ID única de la máquina virtual local (LVMID) y la clase principal de ejecución
- jps [-ayuda]
- ayuda: obtener lista de ayuda
- jps [-q] [-mlvV] [<hostid>]
- q: solo genera LVMID, omite la clase principal
- m: el parámetro pasado a la función main () de la clase principal cuando comienza la salida
- l: muestra el nombre completo de la clase principal. Si se ejecuta el jar, se genera la ruta completa del jar
- v: parámetros JVM
- V: Salida de los parámetros pasados a la JVM a través del archivo indicador (archivo .hotspotrc o el archivo especificado por -XX: Banderas =
- <hostid>: <hostname> [: <port>] Ver el proceso del host remoto
- jstat
- Herramienta de monitoreo de estadísticas JVM, utilizada para monitorear los datos en ejecución de todos los aspectos de la máquina virtual
- Puede mostrar los datos de carga de clase, memoria, recolección de basura, compilación JIT, etc. en el proceso de máquinas virtuales locales o remotas
- jstat -help | -options
- ayuda: obtener ayuda
- opciones: obtener la lista de parámetros de funciones
- jstat - <opción> [-t] [-h <líneas>] <vmid> [<intervalo> [s | ms] [<count>]]
- t: la primera columna muestra la marca de tiempo, comenzando desde el inicio de jvm
- h <líneas>: cuántas líneas mostrar el encabezado
- vmid: si es una máquina virtual local, es el host remoto de lvmid, entonces [protocolo:] [//] vmid [@nombrehost [: puerto] / nombreDeServidor]
- intervalo: salida una vez cada vez especificado, la unidad predeterminada es ms, se puede especificar como s
- recuento: cuántas veces salir
- opción
- clase: supervise la carga de la clase, la cantidad de descarga, el espacio total y el tiempo de carga de la clase
- Ejemplos
- Analizando
- compilador: método compilado JIT de salida, mucho tiempo y otra información
- Ejemplos
- Analizando
- gc: supervisa el montón de Java
- Ejemplos
- gccapacity: el contenido de monitoreo es el mismo que gc, centrándose en el espacio máximo y mínimo utilizado en cada área
- Ejemplos
- Analizando
- gcutil: Básicamente compatible con gc, centrándose en el porcentaje de espacio utilizado en el espacio total
- gccause: consistente con la función de gcutil, la razón de la salida adicional del último gc
- gcnew: monitoriza el Gc de la nueva generación
- gcnewcapacity: básicamente lo mismo que gcnew, centrándose en el uso de la memoria
- gcold: monitoriza la situación de Gc en la vieja generación
- gcoldcapacity: básicamente lo mismo que gcold, centrándose en el uso de la memoria
- gcmetacapacity: supervisa el uso de memoria de metadatos
- printcompilation: estadísticas del método de compilación JIT
- Ejemplos
- Analizando
- clase: supervise la carga de la clase, la cantidad de descarga, el espacio total y el tiempo de carga de la clase
- jinfo
- Información de configuración para Java, vea y ajuste los parámetros de la máquina virtual en tiempo real
- jmap
- Mapa de memoria para Java, generar instantánea de volcado de memoria de máquina virtual (archivo headdump)
- Otras formas de obtener archivos de volcado
- -XX: HeadDumpOnOutOfMemoryError generado automáticamente después de la excepción OOM
- -XX: HeapDumpONCtrlBreak Use Ctrl + tecla de interrupción para promover la generación
- En el entorno de Linux, envíe kill -3 para generar
- Excepto que los parámetros -dump y -histo son comunes a la plataforma, otros parámetros solo se usan en Linux y Solaris
- jhat
- JVM Heap Dump Browser, utilizado para analizar el archivo headdump, establecerá un servidor http / html, permitirá a los usuarios ver la estructura de análisis en el navegador
- Generalmente, jhat no se usa directamente. Primero, consume tiempo y recursos, y segundo, la función es relativamente aproximada.
- jstack
- Stack Trace para Java, que muestra una instantánea de hilo de la máquina virtual
- Una instantánea de subproceso es una colección de pilas de métodos que ejecuta cada subproceso en la máquina virtual actual
- El propósito de generar una instantánea es localizar la causa de una pausa larga en el hilo.
- HSDIS
- Complemento de desmontaje de código generado por JIT
- -XX: + PrintAssembly restaura el código local generado dinámicamente a la salida del código de ensamblaje y genera comentarios
- JConsole
- Comando jconsole o jconsole.exe de jdk / bin
- Monitoreo de memoria (memoria): equivalente al comando visual jstat
- Supervisión de subprocesos (subproceso): comando visual jstack
- jvisualvm
- Muestra el proceso de la máquina virtual y la configuración del proceso, la información del entorno (jps, jinfo)
- Supervise la información de la CPU, GC, montón, área de método e hilo de la aplicación (jstat, jstack)
- volcado y volcado de análisis (jmap, jhat)
- Análisis de rendimiento del programa a nivel de método
- Instantánea del programa sin conexión
- Otros complementos
- BTrace: con la premisa de no detener la ejecución del programa de destino, agregue dinámicamente el código de depuración que no existe a través de la tecnología HotSpot de la máquina virtual HotSpot.