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