Linux

Оптимизация журнала systemd в Linux: ускорение и управление

В этом гайде вы узнаете, как оптимизировать журнал systemd в Linux, чтобы освободить дисковое пространство и повысить производительность системы. Мы покажем, как настроить ротацию логов, очистить старые записи и использовать эффективные параметры.

Обновлено 31 июля 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04Fedora 38Arch LinuxDebian 12

Введение / Зачем это нужно

Журнал systemd (systemd-journald) собирает системные логи в реальном времени. Со временем неограниченный рост записей может заполнить диск и замедлить работу системы. Оптимизация журнала позволяет освободить место, ускорить систему и обеспечить более эффективное логирование.

Требования / Подготовка

  • ОС: Ubuntu 22.04, Fedora 38, Arch Linux, Debian 12 (или любая современная дистрибутива на базе Linux).
  • Права:root (или sudo) для редактирования конфигурационных файлов и перезапуска служб.
  • Базовые инструменты:systemd, journalctl.
  • Свободное место на диске для временных операций.

Пошаговая инструкция

Шаг 1: Проверка текущего размера журнала

# Общее потребление журнала
journalctl --disk-usage

# Подробная информация по каталогам
du -sh /var/log/journal/*

Результат показывает, сколько мегабайт или гигабайт занимает журнал.

Шаг 2: Удаление старых записей

# Удалить логи старше двух недель
journalctl --vacuum-time=2weeks

# Ограничить общий размер журнала 500 МБ
journalctl --vacuum-size=500M

Старые записи удаляются без подтверждения — операция необратима.

Шаг 3: Настройка автоматической ротации

  1. Откройте конфигурационный файл:
    sudo nano /etc/systemd/journald.conf
    
  2. Добавьте или отредактируйте следующие параметры (пример настроек):
    SystemMaxUse=500M
    SystemMaxFileSize=100M
    SystemKeepFree=200M
    
  3. Перезапустите службу:
    sudo systemctl restart systemd-journald
    

Шаг 4: Включение компрессии логов

В том же /etc/systemd/journald.conf установите:

Compress=yes

Перезапустите службу так же, как в шаге 3. Компрессия сжимает ротированные файлы журнала, экономя место на диске.

Шаг 5: Проверка результата

journalctl --disk-usage

Проверьте /var/log/journal/*/*.journal и *.journal~, чтобы убедиться, что размер уменьшился и компрессия применяется.

Проверка результата

После выполнения шагов журнал должен занимать указанный объём (например, ≤ 500 МБ). Команда journalctl --disk-usage теперь показывает обновлённые цифры. Логи по-прежнему доступны через journalctl -u <service> или journalctl --since "2024-01-01".

Возможные проблемы

  • Нет прав root: journalctl --vacuum-time и редактирование /etc/systemd/journald.conf требуют elevated прав. Используйте sudo или войдите как root.
  • Служба не перезапускается: Проверьте синтаксис /etc/systemd/journald.conf (systemd-analyze verify /etc/systemd/journald.conf). Исправьте ошибки и повторите systemctl restart systemd-journald.
  • Журнал продолжает расти: Убедитесь, что RuntimeMaxUse и RuntimeMaxFileSize также настроены в конфигурации. Эти параметры ограничивают размер текущего (неархивного) журнала.

Часто задаваемые вопросы

Почему журнал systemd занимает много места?
Как удалить старые записи в журнале systemd?
Как настроить ротацию журналов systemd?

Полезное

Проверка текущего размера журнала
Удаление старых записей
Настройка автоматической ротации
Включение компрессии логов
Проверка результата

Эта статья помогла вам решить проблему?