En el directorio bin del JDK, hay una variedad de herramientas pequeñas para la depuración de apoyo, seguimiento, compilar y ejecutar otras funciones.
root @ root: / usr / lib / jvm / java-8-OpenJDK amd64 / # ls bin appletviewer HSDB jarsigner javadoc java-rmi.cgi jdb jinfo JPS jstack herramienta de claves pack200 rmid serialver unpack200 xjc clhsdb idlj java javah jcmd jdeps jjs jrunscript jstat native2ascii policytool rmiregistry servertool wsgen tarro extcheck javac javap jconsole jhat jmap jsadebugd jstatd orbd rmic schemagen tnameserv wsimport
1.jps: Herramienta de estado del proceso VM
Se pueden listar las máquinas virtuales que se ejecutan los procesos y las pantallas de la máquina virtual ejecuta la clase principal (función de la clase principal, main () en la clase), así como el nombre de una máquina virtual local de estos procesos de identificación única (LVMID.Local Virtual Machine Identifier)
root @ root: ~ $ JPS -help uso: JPS [-help] JPS [-q] [-mlvV] [<hostid>] definiciones: <Hostid>: <nombre de host> [: <puerto>]
root @ root: / home / dev # JPS -l
1505 * .jar
1507 * .jar
JPS parámetros de opciones:
q: salida sólo LVMID, se omite el nombre de la clase principal del
-m: pasó a la clase principal principales aperturas de salida de proceso de la máquina virtual () parámetros de la función
-l: nombre completo de la salida de la clase principal, si se ejecuta el proceso de tarro paquete, camino de salida JAR
JVM parámetros de salida se inicia el proceso de la máquina virtual: -v
2.jmap: Java herramientas de imagen de memoria
Para instantánea volcado del montón prima.
Uso: la jmap [Opción] <PID>
Opción:
-dump: volcado de pila verde instantánea -dump: [Live,] = El formato del archivo, B = <nombre de archivo> <pid>
-heap: Java heap muestran detalles
dev03 root @: / home / dev # jmap -dump: format = b, file = 30138 Heapdump
montón de dumping a / home / wuh151 / Heapdump ...
archivo de volcado de pila creado
root @ root: Inicio / / dev # 30138 jmap -heap
correspondientes a las ID de proceso 30138, por favor espere ...
depurador asociado con éxito.
Compilador servidor ha detectado.
Versión de la JVM es 25.242-b08
usando asignación de objetos de hilo local.
GC paralelo con 8 de rosca (s)
Configuración del montón:
MinHeapFreeRatio = 0 ## corresponde JVM inicio parámetros -XX: Configuración de MinHeapFreeRatio mínimo de inactividad relación JVM pila (por defecto 40)
MaxHeapFreeRatio ## = 100 correspondiente a los parámetros de JVM inicio -XX: relación inactivo máximo dispuestos MaxHeapFreeRatio JVM pila (por defecto 70)
maxHeapSize = 1073741824 ( 1024.0MB) ## correspondiente al inicio JVM parámetros -XX: maxHeapSize = establecer el tamaño máximo de la pila de JVM
NewSize = 178,782,208 (170.5MB) ## correspondiente al inicio JVM parámetros -XX: NewSize = dispuesta JVM pila 'nueva generación' tamaño predeterminado
MaxNewSize = 357564416 (341.0MB) ## correspondiente al inicio JVM parámetros -XX: MaxNewSize = dispuesta JVM pila 'nueva generación' tamaño máximo
OldSize = 358,088,704 (341.5MB) ## correspondiente al inicio JVM parámetros -XX: OldSize = <valor>: tamaño del conjunto de pila de JVM 'vieja generación'
NewRatio = 2 ## correspondiente al inicio JVM parámetros -XX: NewRatio =: 'nueva generación' y la relación de tamaño 'generación de más edad'
SurvivorRatio = 8 ## correspondiente a los parámetros de JVM inicio -XX: SurvivorRatio = Eden dispuesta en la relación joven área de tamaño de área de generación del superviviente
MetaspaceSize = 1073741824 (1024.0MB)
CompressedClassSpaceSize = 268,435,456 (256.0MB)
MaxMetaspaceSize = 2147483648 (2048.0MB)
G1HeapRegionSize = 0 (0,0 MB)
3.jstack: herramienta de seguimiento de pila de Java
Tiempo para el subproceso actual para generar una instantánea de la máquina virtual. El hilo es una instantánea del método actual de ejecución de máquinas virtuales cada colección de la pila de hilo, hilo de generación de instantáneas objetivo es por lo general para localizar el hilo aparece larga pausa.
Contar el número de hilos de usar:
root @ dev03: / Home / dev # 2791 jstack la -l | grep 'java.lang.Thread.State' | WC la -l 48
detección de estancamiento:
Primer paso: Ver ocupan de la CPU proceso de
arriba
Segundo paso: Comprobar ocupan de la CPU roscado
superior -H -p 17850
Tercer paso: Convertir el hilo ID
printf "del X% \ el n-" 17880
45d8
Paso cuatro: Ubicar la rosca uso de la CPU
jstack 17850 | grep 45d8 -A 30
4.jstat: Virtual Machine Estadísticas Herramienta de Monitoreo
Varias máquinas virtuales monitor de estado de operación.
Uso: -help jstat | -options jstat - <opción> [-t] [-h <líneas>] <VMID> [<intervalo> [<cuenta>]]
Parámetros que representa intervalo de consulta y el número de cuenta de intervalo de veces, si se omite el parámetro, una descripción de verificación Sólo
Opción:
la -class monitor de carga de clases, la cantidad de descarga, espacio total de carga de clases y el tiempo de
-gc monitoreo montón de java estado
-gcutil -gc con básicamente el mismo, la salida de las principales preocupaciones ha sido el uso del porcentaje de espacio total de
...
root @ root: Inicio / / dev # 25791 jstat -gcutil
S0 S1 E M O CCS YGC YGCT FGC FGCT GCT
97.84 0.00 61.84 77.63 97.22 95.68 338 2 58,808 1,787 60,595
S0: 0 Superficie del sobreviviente relación utilizada actualmente
S1: área utiliza actualmente en una proporción 1 superviviente
la zona Eden usando una proporcional: E
O: la proporción de años mayor
M: relación de área de uso de metadatos
CCS: Uso relación de compresión
YGC: el número del reciclaje de basura generación joven
YGCT: el tiempo de recogida de basura generación joven
FGC: el número de años de edad la recolección de basura
FGCT: Tiempo de edad es la recolección de basura
GCT: El tiempo total de recolección de basura