Estoy tratando de averiguar el motivo del bloqueo de una de mis aplicaciones de Linux. Pero no sé a dónde va el núcleo.
cat /proc/sys/kernel/core_pattern
core.%e.%p
¿Alguna idea?
Estoy tratando de averiguar el motivo del bloqueo de una de mis aplicaciones de Linux. Pero no sé a dónde va el núcleo.
cat /proc/sys/kernel/core_pattern
core.%e.%p
¿Alguna idea?
El volcado del núcleo se escribe en el directorio actual del proceso en el momento del bloqueo.
Por supuesto, los volcados de núcleo deben estar habilitados, de forma predeterminada, estos están normalmente deshabilitados. Compruebe la salida de ulimit -c
, si eso es 0, entonces no se escribirá ningún archivo central. Ejecutar ulimit -c unlimited
para habilitar volcados de núcleo; Esta es una configuración por proceso que es heredada por los procesos iniciados por ese proceso.
Si se hubiera generado un volcado de núcleo pero no sabe dónde, entonces podría comenzar el proceso nuevamente (si lo hará sin fallar de inmediato), luego verifique su directorio de trabajo haciendo ls -l /proc/$pid/cwd
dónde $pid
está el ID del proceso. Ese enlace apuntará al directorio de trabajo actual de ese proceso. Lo más probable es que el basurero estará allí. De lo contrario, debe ejecutar find
en todo el sistema ...
Los sistemas que usan systemd generalmente están configurados para volcar núcleos a
Puede usar el
coredumpctl
comando para enumerar los volcados del núcleo. Vea también no-coredumps-after-migrating-to-systemdfuente