systemd Linux

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

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

Журнал systemd-journald может занимать гигабайты. Ниже — причины и порядок действий от простого к сложному.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Проверка
  5. Очистка
  6. Постоянный лимит

#Что означает ошибка

Сообщение
Каталог /var/log/journal разросся

Журнал systemd (/var/log/journal) может занимать гигабайты, если не ограничен размер. По умолчанию лимит — 10 % файловой системы, до 4 ГБ, но на небольших дисках это ощутимо. Журнал можно уменьшить и настроить без потери нужных записей.

Сначала узнайте занимаемое место.

Затем очистите и задайте постоянный лимит.

Журнал systemd-journald может занимать гигабайты. Ограничить его размер можно параметром SystemMaxUse и очисткой старых записей командой journalctl.

/etc/systemd/journald.conf
Ограничение размера журнала.
[Journal]
SystemMaxUse=500M

#Причины и решения

Возможная причинаКак узнатьЧто делать
Не ограничен размер журналаНет лимита.Задайте SystemMaxUse.
Много ошибок от службыЖурнал растёт быстро.Найдите источник сообщений.
Хранится слишком долгоСтарые записи.Очистите по времени.
Постоянное хранение включеноЖурнал на диске.Настройте хранение.

#Пошаговое решение

  1. Узнайте размер журналаНа Linux-хосте откройте терминал и выполните journalctl --disk-usage; увидите объём всех системных журналов, а не размер одного файла. Затем df -h /var/log и df -i /var/log, чтобы убедиться, что заполнена именно эта файловая система и не исчерпаны inode.
  2. Найдите шумную службуОткройте journalctl -p warning -b --no-pager | tail -n 100 и найдите службу, которая пишет сообщения слишком часто; для неё используйте journalctl -u имя.service --since "1 hour ago". Если одна ошибка повторяется тысячами раз, устранение причины в службе полезнее, чем регулярная очистка журналов.
  3. Сократите журналЕсли нужно освободить место без потери недавних событий, сохраните журналы для расследования и выполните sudo journalctl --vacuum-size=500M или sudo journalctl --vacuum-time=14d с выбранным ограничением. Операция удаляет только архивные файлы журнала; активные могут оставаться большими. Не выполняйте rm -rf /var/log/journal.
  4. Задайте SystemMaxUseЧтобы ограничить будущий рост, откройте /etc/systemd/journald.conf либо создайте отдельный файл в /etc/systemd/journald.conf.d/, задайте SystemMaxUse=500M в секции [Journal] с учётом размера диска. Перед редактированием сохраните копию и убедитесь, что настройка не конфликтует с другими drop-in-файлами.
  5. Перезапустите journaldПосле корректировки конфигурации выполните sudo systemctl restart systemd-journald, затем journalctl --disk-usage. Перезапуск журнала может создать короткий промежуток изменения сбора событий; на критичных системах согласуйте его. Через некоторое время проверьте рост и повторяющиеся сообщения нужной службы.
  6. Размер журнала
    Linux · Терминал (Bash)Команда
    Размер журнала.
    journalctl --disk-usage

#Проверка

Выполните journalctl --disk-usage и du -sh /var/log/journal. Посмотрите, какие службы шумят: journalctl --since today -o json | jq -r ._SYSTEMD_UNIT | sort | uniq -c | sort -nr | head. Часто виновата одна служба, пишущая ошибки в цикле — исправьте её (см. журнал journalctl -u имя).

#Очистка

Оставить последние 500 МБ: sudo journalctl --vacuum-size=500M. Оставить записи за 2 недели: sudo journalctl --vacuum-time=2weeks. Ограничить число файлов: --vacuum-files=5. Принудительно ротировать: sudo journalctl --rotate. Эти команды удаляют старые архивные записи, текущие не затрагиваются.

#Постоянный лимит

Отредактируйте /etc/systemd/journald.conf (или создайте /etc/systemd/journald.conf.d/size.conf): [Journal] → SystemMaxUse=500M → SystemKeepFree=1G → MaxRetentionSec=1month. Примените: sudo systemctl restart systemd-journald. Для оперативной памяти вместо диска: Storage=volatile (журнал пропадает после перезагрузки). Если нужно хранить долго, настройте пересылку в центральный сервер логов.

Linux · Терминал (Bash)С осторожностьюНужен sudo
Показывает размер журнала и удаляет старые записи (старые архивные логи будут потеряны).
journalctl --disk-usage
sudo journalctl --vacuum-size=500M
sudo journalctl --vacuum-time=2weeks

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

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.