SystemdDoctor
мешает работе падения разбор

Служба упала, а дамп памяти не собран

Дамп памяти — единственный способ разобрать падение, которое не объясняется журналом. Его отсутствие имеет три типовые причины, и все три проверяются за минуту. Отдельно стоит помнить, что дампы содержат память процесса: пароли и данные пользователей попадают в них целиком.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Обработчик дампов не назначен

    Дамп передаётся программе, указанной в настройке ядра. Если это не сборщик systemd, дампы в его хранилище не появятся.

  2. Размер дампа ограничен

    Предел размера дампа для процесса может быть нулевым. Тогда дамп не создаётся вовсе.

  3. Дамп удалён по сроку или размеру хранилища

    Хранилище дампов ограничено по объёму и сроку. Крупные дампы вытесняются быстро.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Собранные дампы: время, unit, сигнал.

coredumpctl list --no-pager | tail -10

Кто назначен обработчиком дампов.

sysctl kernel.core_pattern

Предел размера дампа для службы.

systemctl show myapp.service -p LimitCORE

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Обработчик дампов не назначен
Почему происходит
Дамп передаётся программе, указанной в настройке ядра. Если это не сборщик systemd, дампы в его хранилище не появятся.
Как проверить
Посмотрите обработчик и содержимое хранилища.
sysctl kernel.core_pattern
coredumpctl list --no-pager 2>&1 | tail -5
Как исправить
Назначьте обработчиком сборщик systemd: тогда дампы попадут в его хранилище с привязкой к unit и будут доступны штатной команде.
2. Размер дампа ограничен
Почему происходит
Предел размера дампа для процесса может быть нулевым. Тогда дамп не создаётся вовсе.
Как проверить
Посмотрите предел у службы и системное значение.
systemctl show myapp.service -p LimitCORE
systemd-analyze cat-config systemd/coredump.conf | grep -iE "ProcessSizeMax|ExternalSizeMax"
Как исправить
Снимите предел размера дампа для нужной службы и проверьте пределы сборщика: они отдельные и тоже режут крупные дампы.
[Service]
LimitCORE=infinity
3. Дамп удалён по сроку или размеру хранилища
Почему происходит
Хранилище дампов ограничено по объёму и сроку. Крупные дампы вытесняются быстро.
Как проверить
Посмотрите хранилище и настройки.
sudo du -sh /var/lib/systemd/coredump 2>/dev/null
systemd-analyze cat-config systemd/coredump.conf | grep -iE "MaxUse|KeepFree"
Как исправить
Разбирайте падения сразу или увеличьте хранилище. Держать дампы долго не стоит: в них лежат данные из памяти процесса.

Пример вывода

Обработчик дампов не назначен сборщику systemd. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

systemd[1]: myapp.service: Main process exited, code=dumped, status=11/SEGV

$ coredumpctl list
No coredumps found.
$ sysctl kernel.core_pattern
kernel.core_pattern = core

Связанные ошибки

Источники

  • coredump.conf(5)
    Настройки сборщика дампов и пределы размеров.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • coredumpctl(1)
    Просмотр и извлечение собранных дампов.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Проверено на systemd 255: при чужом обработчике дампы в хранилище сборщика не появляются.
    собственная проверка, systemd 255
    сверено 15 сентября 2026