El archivo de registro de un bloqueo de JVM contiene todo tipo de información útil para la depuración, como las bibliotecas compartidas cargadas y el entorno completo. ¿Puedo forzar a la JVM a generar uno de estos programáticamente? ya sea mediante la ejecución de código que lo bloquea o de alguna otra manera? ¿O alternativamente acceder a la misma información de otra manera?¿Puedo forzar la generación de un archivo de registro de bloqueo de JVM?
Respuesta
Puede intentar lanzar un OutOfMemoryError y agregar el argumento -XX: + HeapDumpOnOutOfMemoryError jvm. Esto es nuevo a partir de 1.6 al igual que las otras herramientas sugeridas por McDowell. http://blogs.oracle.com/watt/resource/jvm-options-list.html
Estoy bastante seguro de que esto se puede hacer con el IBM JDK ya que estaba jugando con su analizador de pila hace algún tiempo. Una opción para forzar el volcado sería simplemente causar una excepción OutOfMemoryException.
Estas herramientas pueden proporcionar algunas pistas http://www.ibm.com/developerworks/java/library/j-ibmtools1/
El enlace parece tratarse de una herramienta disponible solo para clientes de IBM, de la que no soy uno. – DJClayworth
un vistazo a la JDK Development Tools, en particular, la Troubleshooting Tools para volcar el montón, información de configuración de impresión, etcétera.
De las herramientas, ['jstack'] (http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstack.html) parece ser la más prometedora, con el formato' jstack -l - F -m
O consulte https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/toc.html para Oracle Java 8 (los enlaces anteriores son 6, pero probablemente no sean de contenido muy diferente). – PJTraill
- 1. Generación de archivo .class para JVM
- 2. cómo analizar archivo de bloqueo de JVM hs_err_pidXYZ.log
- 3. cómo establecer la ubicación de los archivos de registro de bloqueo de jvm
- 4. Log4net generación de registro de nombre de archivo incorrecto
- 5. Nlog - Generación de la sección de encabezado de un archivo de registro
- 6. Bloqueo de JVM mientras memcpy durante la carga de clase
- 7. ¿Cómo puedo forzar la descarga de un archivo usando php?
- 8. ¿Qué significa BufferBlob :: Intérprete en el registro de bloqueo de JVM?
- 9. Archivo de bloqueo de PowerShell
- 10. Extraño registro de bloqueo de iPhone
- 11. ¿Es posible especificar dónde van los volcados de bloqueo de JVM?
- 12. experto en la generación de archivo pom
- 13. Log4j Inicio de sesión en un archivo de registro compartido
- 14. Rellenar programáticamente la región de memoria de generación permanente de JVM (PermGen)
- 15. Registro de Java: ¿cómo redirigir la salida a un archivo de registro personalizado para un registrador?
- 16. Analizar un archivo de registro de log4j
- 17. ¿Qué representa mc_mobile_tunnel en un registro de bloqueo?
- 18. Un formato de archivo de registro simple
- 19. Dado un desplazamiento de bloqueo, .PDB y fuente, ¿cómo puedo encontrar la línea de origen?
- 20. ¿Cómo puedo forzar la finalización de urllib2?
- 21. php - ¿Cómo forzar la descarga de un archivo?
- 22. Cómo forzar la descarga de un archivo en PHP
- 23. generación de archivo de diseñador fallida
- 24. Archivo de bloqueo y eliminación
- 25. ¿Cómo decodificar un registro de bloqueo utilizando el archivo dSYM en iOS?
- 26. ¿Dónde está el registro de bloqueo de Visual Studio 2008?
- 27. Archivo de lectura (registro) sin bloqueo de cambio de nombre/mudanza para otros procesos
- 28. ¿Cómo puedo forzar la descarga de un módulo Perl?
- 29. ¿Puedo forzar un salto de página en la impresión HTML?
- 30. ¿Generación de miniaturas eficiente de un gran archivo pdf?
Vea también http://stackoverflow.com/questions/5576672/force-or-generate-jvm-core-dump – jhclark
El enlace está muerto (podría agradecer a Oracle). – willome
Esa otra pregunta parece ser un volcado del núcleo que uno podría enviar al implementador de JVM, p. IBM, en lugar de un 'hs_err_pid * .log'. – PJTraill