Systemd 日志文件小于 SystemMaxFileSize

Systemd 日志文件小于 SystemMaxFileSize

我有一个运行 CentOS 7 的系统,有超过 1T 的可用磁盘空间。systemd 版本是 219。我已使用以下设置配置了 journald:

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

但是,生成的日志文件小于 1G,它们被截断为大约 500M,如此屏幕截图所示。

在此处输入图片描述

我正在对系统进行密集测试,日志每天填充超过 1G,因此不是 MaxFileSec 起作用了。我注意到文件的组 ID 不同,也许这是一个线索。但是,从屏幕截图中的时间戳可以看出,上面的两个日志文件似乎不再被填满。

我的问题是,为什么日志文件的大小没有达到配置的1G?

编辑:正如下面的马克所指出的,更正了参数名称,但在系统上它是正确的。

答案1

文档中没有任何内容man journald.conf承诺将日志文件设置为最大SystemMaxFileSize=。文档仅承诺不会超出该限制。

从业余阅读C 源代码,我的理解是存在“最小文件大小”,但只有 512k,因此这里不应该有这个限制。还有“FILE_SIZE_INCREASE”,它与分配增量文件增长有关。我的理解是,在旋转发生之前,预计文件大小会在 SystemMaxFileSize 的 8 MB 以内增长。

如果您在整个systemd源代码树中搜索SystemMaxFileSize,您会发现它被转换成上面链接的“.c”文件中的“max_size”变量。

由于文档没有完全回答这个问题,阅读相关的源代码可能会让您更全面地了解您正在寻找的行为。

相关内容