¿Cuáles son las formas y herramientas para tomar volcados de hilo?
Para un volcado de hilo, puede utilizar JConsole, VisualVM o, más simplemente, enviar un QUIT señal para el proceso de destino
kill -QUIT <pid>
o
kill -3 <pid>
Desde Java 5, hay también es jstack
, que es independiente de la plataforma y tiene una buena opción -m
para imprimir tramas Java y nativas (modo mixto).
¿Cuáles son las formas y herramientas para tomar volcados de almacenamiento dinámico?
con Sun VM, jmap
, Sun JConsole, Sun VisualVM, SAP JVMMon. Para máquinas virtuales de IBM, marque this page. De hecho, el wiki de Eclipse MAT tiene una sección agradable de Getting a Heap Dump que resume todas las opciones.
¿Cuáles son las herramientas para analizar los vertederos anteriores?
Para hilo vertederos utilizo TDA - Thread Dump Analyzer (por Sun JDK) y IBM Thread and Monitor Dump Analyzer (para IBM JDK). Samurai también es muy bueno (funciona como tail -f
y recupera los volcados de subprocesos de su std/stderr automáticamente, también puede leer los registros "-verbose: gc") y se ha probado contra las máquinas virtuales de Apple, BEA, HP, Sun y IBM (también puede leer el javacore de IBM).
Para vuelcos de almacenamiento dinámico, utilizo VisualVM (por Sun JDK) o IBM Heap Dump Analyzer (sólo para IBM JDK) o el über increíble Eclipse MAT en función de mis necesidades. El último es capaz de trabajar con volcados de pila binarios HPROF (producidos por Sun, HP, SAP, etc ... JVM), volcados de sistema de IBM (después de preprocesarlos) y volcados de pila (PHD) portátiles IBM de una variedad de IBM plataformas).
He editado su publicación, ya que estoy bastante seguro de que estaba interesado en la memoria _dumps_, no en la memoria _dumbs_ ;-) –
¿Cuál es la diferencia entre un volcado de memoria y un volcado de pila para usted? –
Gracias, muchachos, por señalar todos los errores tipográficos. He corregido mis preguntas. –