Cuando ejecuto un comando kill -3 <pid>
en mi programa Java, genera el volcado de subprocesos en la consola. ¿Cómo puedo redirigir esto a un archivo?Ubicación de volcado de subprocesos JVM
Respuesta
dos opciones:
ejecutar la aplicación Java con la salida estándar redirigidos
java com.example.MyApp > out.txt
Uso jstack
lugar.
La utilidad jstack le permite obtener un volcado de hilo y enviar la salida a la consola actual en lugar de la extensión estándar de la aplicación Java, lo que le permite redirigirlo.
Por ejemplo, si el PID de la aplicación Java es 12345 (utilizar la utilidad jps para encontrarlo rápidamente):
jstack 12345 > threads.txt
Si desea detalles de todas las roscas y otros detalles de JVM, tratar jconsole.
Agregue los siguientes argumentos de JVM a su aplicación. El volcado de subprocesos debe capturarse en dump.log.
-XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=dump.log
Tenga en cuenta que no redirige, pero habilita el registro de diagnóstico de JVM. Por lo tanto, podría haber un posible exceso también.
Sin embargo, si puede tener JDK en el entorno, utilizando jstack o jcmd (jcmd is preferred with JDK 1.8), puede capturar el volcado de subprocesos y redirigir a un archivo.
- 1. Volcado de subprocesos con .net 4
- 2. Herramienta de resumen de volcado de subprocesos de Java
- 3. Analizando el volcado de subprocesos de un proceso de Java
- 4. Herramienta/herramienta de análisis de volcado de subprocesos
- 5. Volcado de subprocesos mediante programación/JDI (Interfaz de depuración de Java)
- 6. ¿Las JVM de Linux realmente implementan las prioridades de subprocesos?
- 7. ¿Cómo detectar presencia y ubicación de JVM en Windows?
- 8. Desencadenante de volcado de desencadenador de una JVM 1.5 que se ejecuta en Windows
- 9. Determine el tiempo de espera de subprocesos en WinDbg con volcado de modo de usuario
- 10. Descarga de subprocesos de Python
- 11. ¿Puede JDK Sun generar archivos de volcado núcleo/montón cuando JVM se cuelga?
- 12. Crear un volcado de almacenamiento en java desde un volcado de memoria de Windows
- 13. Volcados de subprocesos de JVM que contienen monitores sin hilos de bloqueo
- 14. Con las JVM recientes de Sun (1.6), ¿es posible obtener información de subprocesos de GC?
- 15. cómo establecer la ubicación de los archivos de registro de bloqueo de jvm
- 16. Determinación de la ubicación del ejecutable de JVM durante el tiempo de ejecución
- 17. Volcado de subprocesos que muestra el estado Runnable, pero está colgado durante bastante tiempo
- 18. Problemas de memoria JVM
- 19. Convierta un volcado de PostgreSQL en un volcado de MySQL
- 20. Los subprocesos de RMI impiden que JVM salga después de que main() complete
- 21. Volcado de Postgres: pg_catalog.setval
- 22. entendimiento JVM de "Adjuntar Listener" hilo
- 23. sobreasignación de subprocesos de subprocesos de Java
- 24. Análisis de volcado del núcleo utilizando gdb
- 25. Subprocesos de aplicación vs Subprocesos de servicio
- 26. Prioridad de subprocesos y precisión de subprocesos
- 27. ¿Cómo implementan JVM IdentityHashMap?
- 28. Cuál es el significado de "volcado de hilo"
- 29. ¿Cómo puedo ver el uso de memoria, volcado de hilo para programas Java, desde la línea de comandos?
- 30. JVM consume todos los CPU, la mayoría de los hilos BLOQUEADOS. ¿Error de JVM?
OK gracias a la gente. Me lo imaginé. el comando kill -3 estaba causando que mi jvm escribiera en STDOUT. Acabo de agregar esto a mi llamada java 1> "ruta a un archivo de registro" y lo hice funcionar. – user242591