Файлы журнала 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=
, Документы только обещают не превышать этот предел.
Исходя из любительского прочтения исходного кода на C, моя интерпретация заключается в том, что существует "минимальный размер файла", но он составляет всего 512 КБ, поэтому здесь его не должно быть. Существует также "FILE_SIZE_INCREASE", который связан с выделением добавочного роста файла. Мое чтение состоит в том, чтобы ожидать, что размер файла вырастет в пределах 8 МБ от SystemMaxFileSize до того, как произойдет ротация.
Если вы ищете весь systemd
исходное дерево для SystemMaxFileSize
вы найдете его переведенным в переменную "max_size" в файле ".c", указанном выше.
Поскольку документы не полностью ответили на вопрос, чтение соответствующего исходного кода может дать вам более полное представление о том, какое поведение вы искали.