У меня есть система под управлением CentOS 7 со свободным дисковым пространством более 1 ТБ. Версия systemd - 219. Я настроил journald со следующими настройками:
Storage=persistent
SplitMode=none
SystemMaxUse=50G
SystemMaxFileSize=1G
#MaxFileSec=1month (default)
Однако результирующие файлы журнала меньше 1 ГБ, они обрезаны примерно до 500 МБ, как видно на этом снимке экрана.
Я провожу интенсивное тестирование системы, журнал заполняется более чем 1 Гб в день, поэтому задействуется не MaxFileSec. Я заметил, что идентификаторы группы для файлов различаются, возможно, это ключ к разгадке. Однако, как видно по отметкам времени на снимке экрана, два файла журнала наверху, похоже, больше не заполнены.
У меня вопрос, почему размер файлов журнала не достигает настроенного 1G?
Изменить: исправленные имена параметров, как указано Марком ниже, однако в системе это было правильно.
Ничего в документах в man journald.conf
обещает сделать файлы журнала размером с SystemMaxFileSize=
. Документы только обещают не превышать этот предел.
Из любительского чтения Исходный код на Cя считаю, что существует «минимальный размер файла», но он составляет всего 512 КБ, так что здесь не должно быть никаких ограничений. Также существует «FILE_SIZE_INCREASE», который связан с выделением инкрементного роста файла. Я считаю, что размер файла вырастет в пределах 8 МБ от SystemMaxFileSize до того, как произойдет поворот.
Если вы будете искать по всему systemd
исходное дерево для SystemMaxFileSize
, вы обнаружите, что он переводится в переменную "max_size" в файле ".c", ссылка на который приведена выше.
Поскольку документы не полностью ответили на вопрос, чтение связанного исходного кода может дать вам более полное представление о поведении, которое вы искали.