¿Cómo puedo redirigir la salida de recogida de basura detallada a un archivo? El sitio web de Sun muestra un ejemplo para Unix pero no funciona para Windows.¿Cómo redirigir la salida de recolección de basura detallado a un archivo?
Respuesta
Desde la salida de java -X
:
-Xloggc:<file> log GC status to a file with time stamps
Documentados here:
-Xloggc: nombre
Establece el archivo en el que la información de eventos detallados GC debe ser redirigido para el registro La información escrita en este archivo es similar a la salida de
-verbose:gc
con el tiempo transcurrido desde el primer evento del GC que precede a cada evento registrado. La opción-Xloggc
anula-verbose:gc
si ambas se dan con el mismo comandojava
.Ejemplo:
-Xloggc:garbage-collection.log
lo que la salida se ve algo como esto:
0.590: [GC 896K->278K(5056K), 0.0096650 secs] 0.906: [GC 1174K->774K(5056K), 0.0106856 secs] 1.320: [GC 1670K->1009K(5056K), 0.0101132 secs] 1.459: [GC 1902K->1055K(5056K), 0.0030196 secs] 1.600: [GC 1951K->1161K(5056K), 0.0032375 secs] 1.686: [GC 1805K->1238K(5056K), 0.0034732 secs] 1.690: [Full GC 1238K->1238K(5056K), 0.0631661 secs] 1.874: [GC 62133K->61257K(65060K), 0.0014464 secs]
Si además desea canalizar la salida a un archivo separado, que puede hacer:
En un Sun JVM:
-Xloggc:C:\whereever\jvm.log -verbose:gc -XX:+PrintGCDateStamps
en una IBM JVM:
-Xverbosegclog:C:\whereever\jvm.log
Si usa -Xloggc, no necesita -verbose: gc. – tfb785
Para añadir a las respuestas anteriores, hay un buen artículo: Useful JVM Flags – Part 8 (GC Logging) por Patrick Peschlow.
Una breve extracto:
La bandera -XX:+PrintGC
(o el alias -verbose:gc
) activa el modo de registro de “simple” GC
Por defecto, el registro de GC se escribe en stdout. Con -Xloggc:<file>
, en su lugar podemos especificar un archivo de salida. Tenga en cuenta que este indicador establece implícitamente -XX:+PrintGC
y -XX:+PrintGCTimeStamps
también.
Si utilizamos -XX:+PrintGCDetails
en lugar de -XX:+PrintGC
, que active el modo de registro de GC “detallada” que varía en función del algoritmo utilizado GC.
Con -XX:+PrintGCTimeStamps
una marca de tiempo que refleja el tiempo real transcurrido en segundos desde el inicio de JVM se agrega a cada línea.
Si especificamos -XX:+PrintGCDateStamps
cada línea comienza con la fecha y hora absolutas.
Java JVM 9 & Unificado registro
JEP 158 introduce un sistema de registro común para todos los componentes de la JVM que cambiarán (y simplificar OMI) cómo funciona el registro con GC. PEC 158 añade una nueva opción de línea de comandos para controlar el registro de todos los componentes de la JVM:
-Xlog
Por ejemplo, la siguiente opción:
-Xlog:gc
registrará mensajes etiquetados con gc
etiqueta usando info
nivel a stdout
. O esta otra:
-Xlog:gc=debug:file=gc.txt:none
sería registrar los mensajes etiquetados con gc
etiqueta usando debug
nivel a un archivo llamado gc.txt
sin decoraciones. Para una discusión más detallada, puede consultar los ejemplos en la página JEP.
- 1. ¿Cómo redirigir la salida de DBMS_OUTPUT.PUT_LINE a un archivo?
- 2. ¿Cómo redirigir la salida de Valgrind a un archivo?
- 3. Recolección de basura
- 4. Cómo depurar la Recolección de basura .net?
- 5. ¿Cómo redirigir la salida del compilador gcc a un archivo?
- 6. ¿Cómo redirigir la salida del sistema() a un archivo?
- 7. ¿Cómo asignar objetos a la recolección de basura de python?
- 8. y recolección de basura
- 9. recolección de basura de java
- 10. ¿Deberíamos utilizar la recolección de basura "estación de trabajo" o la recolección de basura "servidor"?
- 11. Retraso de recolección de basura?
- 12. ¿Notificación de recolección de basura?
- 13. multiprocesamiento y recolección de basura
- 14. Supresión de la recolección de basura C#
- 15. Cuánto tiempo se debe dedicar a la recolección de basura
- 16. ¿NewLISP usa la recolección de basura?
- 17. Uso de la recolección de basura?
- 18. Redirigir la salida del shell erlang a un archivo
- 19. JVM sin recolección de basura
- 20. referencia interna impide la recolección de basura
- 21. Redirigir la salida de grep al archivo
- 22. ¿WinRT tiene recolección de basura?
- 23. Recolección de basura en Delphi
- 24. Ruby: Marque un objeto para la recolección de basura
- 25. Registro de Java: ¿cómo redirigir la salida a un archivo de registro personalizado para un registrador?
- 26. ¿Cómo mejorar el rendimiento de la recolección de basura?
- 27. Cómo investigar la excesiva recolección de basura de Java
- 28. ¿Trabajador de fondo y recolección de basura?
- 29. Cómo redirigir la salida de la consola a un archivo de texto
- 30. Java no recolección de basura memoria
muchas gracias por la gran respuesta – djangofan
java --Xloggc: firstgen.log -Xloggc: secondgen.log parece que no funciona por cierto. – djangofan
Además, esto no aumenta la salida, como esperaba. No hay detalles adicionales después de usar estos argumentos: -Xloggc: gc.log -XX: -PrintGCDetails – djangofan