Estou tentando descobrir o motivo da falha de um dos meus aplicativos Linux. Mas não sei para onde está indo o núcleo.
cat /proc/sys/kernel/core_pattern
core.%e.%p
Qualquer ideia?
Estou tentando descobrir o motivo da falha de um dos meus aplicativos Linux. Mas não sei para onde está indo o núcleo.
cat /proc/sys/kernel/core_pattern
core.%e.%p
Qualquer ideia?
O dump principal é gravado no diretório atual do processo no momento do travamento.
É claro que os dumps principais precisam ser ativados; por padrão, esses geralmente são desativados. Verifique a saída de ulimit -c
, se for 0, nenhum arquivo principal será gravado. Execute ulimit -c unlimited
para ativar os dumps principais; essa é uma configuração por processo herdada pelos processos iniciados por esse processo.
Se um dump principal tiver sido gerado, mas você não souber onde, poderá iniciar o processo novamente (se ocorrer sem travar imediatamente) e verificar seu diretório de trabalho, indicando ls -l /proc/$pid/cwd
onde $pid
está o ID do processo. Esse link apontará para o diretório de trabalho atual desse processo. As chances são de que o dump principal estará lá. Caso contrário, você precisará executar find
em todo o sistema ...
Os sistemas que usam systemd geralmente são configurados para despejar núcleos para
Você pode usar o
coredumpctl
comando para listar os dumps principais. Consulte também no-more-coredumps-after-migrating-to-systemdfonte