SystemdDoctor
мешает работе журнал диски ресурсы

Журнал занимает слишком много места

Постоянный журнал ограничен долей раздела, но доля эта велика, и на небольших дисках журнал занимает гигабайты. Пределы задаются настройками журнала, а не размером диска, поэтому «место закончилось» и «журнал не обрезается» — разные задачи.

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

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

  1. Пределы не заданы и берутся по умолчанию

    Без явных настроек journald занимает до десятой части раздела, но не более четырёх гигабайт. На малых дисках это ощутимо.

  2. Одна служба заливает журнал

    Служба в цикле перезапуска или с отладочным выводом порождает основной объём. Обрезка журнала не поможет, пока источник работает.

  3. Обрезка не освобождает место

    Активный файл журнала не удаляется. Кроме того, удалённые файлы могут оставаться занятыми открытыми описателями.

Диагностика

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

Текущий объём журнала.

journalctl --disk-usage

Какие службы пишут больше всех.

journalctl -b --no-pager | awk '{print $5}' | sort | uniq -c | sort -rn | head

Итоговые настройки журнала со всеми переопределениями.

systemd-analyze cat-config systemd/journald.conf

Решение

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

1. Пределы не заданы и берутся по умолчанию
Почему происходит
Без явных настроек journald занимает до десятой части раздела, но не более четырёх гигабайт. На малых дисках это ощутимо.
Как проверить
Посмотрите текущий объём и действующие пределы.
journalctl --disk-usage
systemd-analyze cat-config systemd/journald.conf | grep -iE "SystemMaxUse|MaxRetention"
Как исправить
Задайте предел размера и срок хранения в настройках журнала, затем перезапустите службу журнала.
[Journal]
SystemMaxUse=512M
MaxRetentionSec=14day
2. Одна служба заливает журнал
Почему происходит
Служба в цикле перезапуска или с отладочным выводом порождает основной объём. Обрезка журнала не поможет, пока источник работает.
Как проверить
Найдите самых говорливых.
journalctl -b --no-pager -o json 2>/dev/null | head -0; journalctl -b --no-pager | awk '{print $5}' | sort | uniq -c | sort -rn | head -10
Как исправить
Уберите причину: остановите цикл перезапуска или снизьте уровень подробности вывода. Ограничение на службу задаётся параметром LogLevelMax=.
3. Обрезка не освобождает место
Почему происходит
Активный файл журнала не удаляется. Кроме того, удалённые файлы могут оставаться занятыми открытыми описателями.
Как проверить
Обрежьте журнал и сравните объём.
sudo journalctl --vacuum-size=200M && journalctl --disk-usage
Как исправить
Если объём не изменился, перезапустите службу журнала: активный файл будет закрыт и обрезка пройдёт полностью.
sudo systemctl restart systemd-journald

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

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

$ journalctl --disk-usage
Archived and active journals take up 3.9G in the file system.

$ df -h /var
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda2        40G   37G  1.1G  98% /

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

Где встречается чаще всего

Источники

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