Файлы журнала Systemd меньше SystemMaxFileSize

Файлы журнала Systemd меньше SystemMaxFileSize

У меня есть система под управлением CentOS 7 с более чем 1T свободного места на диске. Версия systemd — 219. Я настроил journald со следующими параметрами:

Storage=persistent
SplitMode=none
SystemMaxUse=50G
SystemMaxFileSize=1G
#MaxFileSec=1month (default)

Однако полученные файлы журнала имеют размер менее 1 ГБ, они обрезаются примерно до 500 МБ, как видно на этом снимке экрана.

введите описание изображения здесь

Я провожу интенсивное тестирование системы, журнал заполняется более чем на 1G в день, так что это не MaxFileSec, который срабатывает. Я заметил, что идентификатор группы отличается для файлов, возможно, это подсказка. Однако, как видно по временным меткам на снимке экрана, два файла журнала сверху, похоже, больше не заполнены.

У меня вопрос: почему размер файлов журнала не достигает заданного 1G?

Редактировать: Исправлены названия параметров, как указал Марк ниже, хотя в системе они были правильными.

решение1

Ничто в документации не man journald.confобещает сделать файлы журнала такими большими, как SystemMaxFileSize=. Документация обещает только не превышать этот лимит.

Из любительского чтенияИсходный код на языке С, я интерпретирую, что есть "минимальный размер файла", но это всего 512k, так что это не должно играть здесь роли. Есть также "FILE_SIZE_INCREASE", который связан с распределением инкрементного роста файла. Я читаю, что следует ожидать, что размер файла увеличится в пределах 8 МБ от SystemMaxFileSize, прежде чем произойдет ротация.

systemdЕсли вы выполните поиск по всему исходному дереву SystemMaxFileSize, вы обнаружите, что он транслируется в переменную «max_size» в файле «.c», ссылка на который приведена выше.

Поскольку документация не дала полного ответа на вопрос, чтение соответствующего исходного кода может дать вам более полное представление о поведении, которое вы искали.

Связанный контент