Estoy en CentOS 6, intentando habilitar los volcados de núcleo para una aplicación que estoy desarrollando. He puesto:
ulimit -H -c unlimited >/dev/null
ulimit -S -c unlimited >/dev/null
en mi perfil de bash, pero todavía no se generó un volcado de núcleo (en una nueva terminal).
También he cambiado mi /etc/security/limits.conf para que los límites flexibles sean cero para todos los usuarios.
¿Cómo configuro la ubicación de los archivos principales para la salida? ¿Quería especificar la ubicación y agregar la hora en que se generó el volcado, como parte del nombre del archivo?
Respuestas:
Para configurar la ubicación de los volcados del núcleo en CentOS 6, puede editar
/etc/sysctl.conf
. Por ejemplo, si desea volcados de núcleo en/var/crash
:Donde las variables son:
También tienes que agregar
/etc/sysconfig/init
Ahora aplique nuevos cambios:
Pero hay una advertencia de esta manera. Si el parámetro kernel kernel.core_pattern siempre se restablece y se sobrescribe al reiniciar a la siguiente configuración, incluso cuando un valor se especifica manualmente en
/etc/sysctl.conf
:En resumen, cuando se
abrtd.service
iniciakernel.core_pattern
se sobrescribe automáticamente por el sistema instaladoabrt-addon-ccpp
. Hay dos formas de resolver esto:Configuración de
DumpLocation
opción en el/etc/abrt/abrt.conf
archivo de configuración. El directorio de destino se puede especificar estableciendo DumpLocation =/var/crash
en el/etc/abrt/abrt.conf
archivo de configuración, ysysctl kernel.core_pattern
el valor que se muestra es el mismo, pero en realidad el archivo principal se creará en el directorio debajo/var/crash
.Además, si tiene SELinux habilitado, debe ejecutar:
Y finalmente reiniciar
abrtd.service
:Detenga el servicio abrtd.
kernel.core_pattern
no se sobrescribirá - (Nunca lo he probado).fuente
Para generar un volcado de núcleo en Busybox, podemos agregar los siguientes parámetros en el script de inicialización que ejecuta nuestro ejecutable. Por lo tanto, cada vez que inicializamos el software y exportamos variables de entorno, podemos copiar las líneas a continuación al script también para volcar el núcleo en caso de que veamos algún bloqueo.
Para establecer la ubicación de los volcados del núcleo en Busybox, puede establecer la ruta del archivo del núcleo utilizando el sistema de archivos proc. Por ejemplo, si desea volcados de núcleo en
/tmp/crash/corefiles
:Donde las variables son:
Además, debe establecer el tamaño del archivo central, el siguiente comando establece el tamaño del archivo central en ilimitado
Ahora, para verificar el tamaño del archivo central establecido para cada subproceso dentro de un proceso, podemos verificar usando
La salida del comando anterior:
Como podemos ver en la salida anterior, el tamaño máximo del archivo central está establecido en ilimitado.
Para obtener más información, visite este enlace. Técnicas de depuración de aplicaciones de Linux / archivos principales
fuente