
У меня есть система под управлением 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», ссылка на который приведена выше.
Поскольку документация не дала полного ответа на вопрос, чтение соответствующего исходного кода может дать вам более полное представление о поведении, которое вы искали.