Я делаю вид, что уже все перепробовал, но мой Debian 8 продолжает создавать дампы ядра, когда что-то выходит из строя. Это происходит примерно один или два раза в месяц. Это рабочий сервер для нескольких веб-сайтов с упакованными Apache 2.4, php5-fpm и mysql. Я подозреваю, что это сбой php5-fpm, потому что я получаю файл дампа в папке DocumentRoot. Файл, который я получаю, называется «core», и его размер составляет порядка гигабайт.
Вот что я уже сделал, чтобы безуспешно отключить дампы ядра:
ln -s /dev/null /etc/systemd/coredump.conf
а затем перезагрузился. Никаких кубиков.
echo '* hard core 0' >> /etc/security/limits.conf
echo "fs.suid_dumpable = 0" >> /etc/sysctl.conf
sysctl -p
а затем перезагрузился. По-прежнему нет кубиков. Я НЕ устанавливал kernel.suid_dumpable в 0, потому что нашел его позже, но когда я нашел его, я также прочитал, что по умолчанию используется ноль. Эти настройки в любом случае не должны иметь никакого значения, потому что php5-fpm не установлен. То же самое касается Apache и mysql, на случай, если это не сбой php5-fpm.
Пока есть скрипт, который ищет дампы ядра и удаляет их. Crontab сделает все остальное, но это не лучшее решение.
Как мне глобально и безоговорочно отключить дампы ядра в Debian 8?
После комментария Майкла Хэмптона к ответу Froggiz я заметил, что в Debian отсутствует справочная страница coredump.conf, поэтому я поискал ее в Интернете и нашел. Эта страница руководства содержит много полезной информации, и мне интересно, почему Debian поставляется без нее (может быть, Debian поставляется без всей вещи systemd-coredump?).
Однако из этой справочной страницы и справочной страницы systemd-coredump кажется, что основные файлы, которые я получаю, не поступают из systemd, потому что systemd помещает их в / var / lib / systemd / coredump или в журнал в зависимости от параметра Storage, но никогда в рабочий каталог потерпевшего крах процесса. Более того, справочная страница systemd-coredump (также отсутствующая в Debian) говорит, что для работы функции дампа ядра вам необходимо настроить параметр sysctl kernel.core_pattern, чтобы ядро фактически передавало дамп ядра в systemd-coredump.
Затем я посмотрел на значение Debian для kernel.core_pattern: Debian поставляется с этим параметром, установленным по умолчанию на «core», что совпадает с именем получаемых мной файлов дампа ядра.
Теперь я полагаю, что настройка
kernel.core_pattern=|/bin/true
(или / bin / false в этом отношении) в sysctl.conf в соответствии с справочной страницей core (5) решит проблему.
Я собираюсь принять свой ответ через несколько недель, если замечу, что сервер перестает создавать файлы ядра. Мне очень жаль, что я не могу принять комментарий Майкла в качестве ответа, но большое ему спасибо за то, что он указал мне в правильном направлении.
РЕДАКТИРОВАТЬ: я нашел Вот способ проверить конфигурацию, не дожидаясь спонтанного сбоя, и я подтверждаю, что это правильный ответ.
Вы можете попробовать это: https://wiki.archlinux.org/index.php/Systemd#Dispting_application_crash_dumps_journaling
Отключение ведения журнала аварийных дампов приложений Редактировать файл
/etc/systemd/coredump.conf
добавив эту строку:Storage=none
и запустите:
systemctl daemon-reload
чтобы перезагрузить конфигурацию.