En sistemas FreeBSD, cada vez que un proceso aborta a causa de un error (crash), por defecto se guarda un volcado (dump) de la memoria y registros del procesador para poder analizar luego la causa. Este volcado se guarda en un archivo cuya extensión es .core, dentro del directorio de trabajo del proceso al momento del crash.

Dependiendo de la aplicación involucrada, este volcado de memoria puede llegar a ser de gran tamaño (similar al tamaño de la memoria que estaba utilizando el proceso al momento del crash). Por ejemplo, en el caso de Firefox el volcado puede ocupar varios gigabytes, lo cual puede ocasionar severos problemas de espacio en disco. Sin contar con que se generan estos archivos, tal vez indeseados, pues para la mayoría de los usuarios finales pueden ser prácticamente un residuo. Raramente un usuario de un sistema de escritorio se toma el trabajo de analizar (debug) un volcado de memoria de una aplicación como Firefox, ya que difícilmente cuente con el conocimiento necesario para interpretarlo.

Este artículo explica cómo deshabilitar los coredumps a nivel global en sistemas FreeBSD.

Para que el kernel de FreeBSD no genere un archivo con el volcado de memoria cada vez que un proceso aborta, se debe configurar la variable kern.coredump con un valor 0:

# sysctl kern.coredump=0

Para que este cambio sea persistente, es necesario agregar la siguiente línea dentro del archivo /etc/sysctl.conf:

kern.coredump=0

Más allá de deshabilitar los volcados de memoria es posible utilizar mejores configuraciones, como por ejemplo permitir que los volcados se compriman con Gzip (kern.compress_user_cores_gzlevel) o que se almacenen siempre dentro de un directorio fijo (kern.corefile).

demás es importante destacar que aquellos procesos que se ejecutan a nombre de otro usuario a través de SUID no guardan coredumps por defecto (esto es por seguridad). Es posible modificar este comportamiento a través de la variable del kernel kern.sugid_coredump.

Referencias

man core


Tal vez pueda interesarte


Compartí este artículo