Por que o systemd-coredump está armazenando o dump na própria memória?

7

Acabei de notar que a maior parte da minha memória foi prejudicada por alguns processos que eu havia matado recentemente. Eu tive um processo systemd-coredump em execução para cada processo que sofreu pane (geralmente, os processos eram google-chrome, que tive de encerrar com força, o que explica o grande consumo de memória).

O que eu gostaria de saber é por que, ao invés de despejar o núcleo do processo travado no disco, um novo processo que contém todo o núcleo do RAM está sendo iniciado.

O meu buggy de configuração é ou deveria ser assim? Se sim, como mudo o comportamento?

Por enquanto, desativei o armazenamento do dump principal vinculando /dev/null a /etc/sysctl.d/coredump.conf , embora eu não veja os dumps principais, mas ainda queira mantê-lo ativado. Qualquer idéia / sugestão seria apreciada.

(O problema também é postado em: link )

    
por pareshverma91 20.03.2013 / 19:58

1 resposta

3

Por padrão, os core dumps são gravados no disco e não devem ser gravados na memória. Consulte a página de manual principal para obter mais informações. Você pode descobrir e alterar o caminho e o nome do arquivo do núcleo procurando por /proc/sys/kernel/core_pattern

Você pode simplesmente desabilitar os despejos principais redirecionando coredump.conf para null

$ sudo ln -s /dev/null /etc/sysctl.d/coredump.conf && /lib/systemd/systemd-sysctl

Outra maneira de desativar os core dumps é alterando as configurações em limits.conf

    
por 25.06.2013 / 20:48