0

Rotado de logs del Garbage Collector por línea de comandos con Xverbosegclog

Un error frecuente en un entorno de desarrollo es el llenado del File System por el tamaño que alcanzan determinados logs.

Si tenemos activada la opción de Verbose Garbage Colector de la JVM es bastante probable que cada cierto tiempo tengamos unos native_stdout.log y native_stderr.log bastante pesados.

Estos natives conviene tenerlos controlados y establecer un rotado periódico, bien por fecha o por tamaño, para evitar que llenen el File System y se dejen de escribir trazas en todos los logs que compartan dicho File System. Lo que sucede es que estos ficheros dejan de escribir trazas si los renombramos, con lo que el procedimiento a seguir con ellos sería hacer un backup del fichero actual y truncarlo posteriormente:

cp native-stderr.log native-stderr-20120417.log
echo “” > native-stdout.log

WAS no permite hacerlo de manera gráfica desde la consola administrativa, pero sí que nos da la opción de hacerlo vía línea de comandos con la propiedad Xverbosegclog desde la versión 5.1

-Xverbosegclog:<path to file><filename>

Con este comando hacemos que la salida del verboseGC se escriba en un fichero determinado. Si no se encuentra el fichero, verboseGC trata de crearlo y continua su proceso normal si no hay problemas. En caso de no poder crear el fichero (permisos, ruta errónea…) redirigirá su salida al stderr.

-Xverbosegclog:<path to file><filename, X, Y>

Esta variación hace que la salida del verboseGC se redirija a X archivos de Y ciclos de GC cada uno.

Para usar estos comandos hay que ir a la consola administrativa y pinchar en Servers -> Application Servers -> Server -> Java and Process Management -> Process Definition -> Java Virtual Machine.

Es necesario reiniciar el servidor para que los cambios surtan efecto.

Más info aquí y aquí.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *