Herramienta de línea de comandos para monitorear Java Heap


14

¿Existe alguna herramienta de línea de comandos para monitorear el uso del tamaño de almacenamiento dinámico de Java en CentOS?

Respuestas:


6

Use jpsy jstackpara aprender más sobre los procesos Java. jstatTambién puede ser útil para el monitoreo de estadísticas Java.


6
cd /opt/www/java/jdk/bin/

# jmap -heap <JAVA_PID>

tuvo un error al usarlo: "No se puede conectar al servidor de volcado de núcleo o depuración remota. Utilice jhsdb jmap en su lugar". jhsdb jmap --heap --pid xxxxhizo el truco
Tom

4

jvmtop es una herramienta de línea de comandos que proporciona una vista en vivo de varias métricas, incluido el montón.

Ejemplo de salida del modo de visión general de VM:

 JvmTop 0.3 alpha (expect bugs)  amd64  8 cpus, Linux 2.6.32-27, load avg 0.12
 http://code.google.com/p/jvmtop

  PID MAIN-CLASS      HPCUR HPMAX NHCUR NHMAX    CPU     GC    VM USERNAME   #T DL
 3370 rapperSimpleApp  165m  455m  109m  176m  0.12%  0.00% S6U37 web        21
11272 ver.resin.Resin [ERROR: Could not attach to VM]
27338 WatchdogManager   11m   28m   23m  130m  0.00%  0.00% S6U37 web        31
19187 m.jvmtop.JvmTop   20m 3544m   13m  130m  0.93%  0.47% S6U37 web        20
16733 artup.Bootstrap  159m  455m  166m  304m  0.12%  0.00% S6U37 web        46

¿Por qué hay un error en el proceso 11272?
akirekadu

@akirekadu Hay muchas razones. Los más comunes son JDK incompatibles entre jvmtop y el jvm de destino o permisos insuficientes / denegados. Vea las preguntas frecuentes para más detalles.
MRalwasser

1

Probablemente desee analizar el uso de la memoria.

GCView podría ayudarlo a visualizar lo que muestra el registro de GC.

Si ya habilitó el gc-log, podría usarlo tail -fen ese registro.


1

Pruebe esto, funcionó en ubuntu y redhat:

java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'

Para ventanas:

java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"

Para Mac

java -XX:+PrintFlagsFinal -version | grep -iE 'heapsize|permsize|threadstacksize'

La salida de todos estos comandos se asemeja a la salida a continuación:

uintx InitialHeapSize                          := 20655360        {product}
uintx MaxHeapSize                              := 331350016       {product}
uintx PermSize                                  = 21757952        {pd product}
uintx MaxPermSize                               = 85983232        {pd product}
 intx ThreadStackSize                           = 1024            {pd product}

Java versión "1.7.0_05" Java (TM) SE Runtime Environment (compilación 1.7.0_05-b05) Java HotSpot (TM) VM de servidor de 64 bits (compilación 23.1-b03, modo mixto)

Para encontrar el tamaño en MB, divida el valor con (1024 * 1024)

Para monitorear el uso de la memoria dinámica en vivo, use jconsole.

Captura de pantalla de Jconsole


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.