Não há mais coredumps após migrar para systemd [duplicate]

7

A geração de coredumps costumava funcionar bem, mas depois de mudar para o systemd, só vejo a mensagem

Aborted (core dumped)

mas nenhum arquivo core é gerado. Tem algo a ver com o systemd?

(Background: Minha pergunta original pode ser encontrada aqui . Obrigado schaiba por encontrar a solução. Eu forneço este Q & A, para que outros possam encontrar a solução mais fácil se eles já sabem que é um problema do systemd.)

    
por Philipp Claßen 17.02.2013 / 21:44

2 respostas

8

As configurações do kernel /proc/sys/ são gerenciadas por sysctl(8) , os padrões do sistema residem em /usr/lib/sysctl.d/ , substituídos por /etc/sysctl.conf ou /etc/sysctl.d/ . Eles definem o nome dos arquivos core e tal. Não a sua escrita (a menos que o kernel esteja configurado para permitir core dumps de binários SUID). A gravação é controlada por ulimit(1) , ou seja, ulimit -c unlimited não fornece limites. Em systemd(1) core arquivos gerados por material sob seu controle são gravados no diário, podem ser recuperados por coredumpctl(1) . O material normal do usuário não é alterado.

systemd systemd-sysctl.service apenas executa sysctl no ponto correto de inicialização e lida com as novas alterações.

    
por 18.02.2013 / 00:06
7

Por padrão, o systemd escreve coredumps no diário. coredumpctl list lista os coredumps ausentes.

Os arquivos são armazenados em /var/lib/systemd/coredump . Use coredumpctl dump para obter acesso aos arquivos principais.

Por exemplo, se o PID for 10666, você pode usar

coredumpctl dump 10666 --output /tmp/core.10666

Não relacionado ao systemd, mas se ainda não estiver funcionando, verifique se o limite do coredump está desativado:

# ulimit -c unlimited

Verifique também se você pode gravar no diretório de trabalho.

    
por 18.12.2016 / 22:11