如何让journald增加日志存储容量?

4xy*_*4xy 5 storage logs systemd-journald

我想通过日志记录持久日志。我创建/var/log/journal并重新加载了该服务。现在日志保存在磁盘上。但日志大小限制较低。

我补充道/etc/systemd/journald.conf。(Storage=persistent/auto没关系,我都尝试过)。

[Journal]
Storage=persistent
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitInterval=30s
#RateLimitBurst=1000
#SystemMaxUse=
SystemKeepFree=10G
SystemMaxFileSize=1G
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我仅将每个日志文件大小更改为 1Gb,并告诉我希望磁盘上有 10Gb 的可用空间。

journald告诉我他只有 4Gb 日志存储容量。

$ sudo systemctl status systemd-journald
...
jan 20 15:44:26 host systemd-journald[1218]: System journal (/var/log/journal/) is 4.5G, max 4.0G, 0B free.
jan 20 15:44:26 host systemd-journald[1218]: Journal started
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

$ systemctl --version
systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN
Run Code Online (Sandbox Code Playgroud)

4xy*_*4xy 6

有必要设置SystemMaxUse=100G例如


the*_*rpy 1

手册页:

SystemMaxUse=、SystemKeepFree=、SystemMaxFileSize=、SystemMaxFiles=、RuntimeMaxUse=、RuntimeKeepFree=、RuntimeMaxFileSize=、RuntimeMaxFiles=

[...]

第一对默认为各自文件系统大小的 10%,第二对默认为 15%,但每个值的上限为 4G。如果文件系统几乎已满,并且在启动 systemd-journald 时违反了 SystemKeepFree= 或 RuntimeKeepFree= 的规定,则限制将提高到实际空闲的百分比。这意味着,如果在创建日志文件之前有足够的可用空间,并且随后其他原因导致文件系统填满,则日志将停止使用更多空间,但它也不会删除现有文件以再次减少占用空间。

所以是的,它的最大值为4G但是,在您的情况下,以下内容很有趣:

Journalctl 和 systemd-journald 会忽略名称不以“.journal”或“.journal~”结尾的所有文件,因此在计算当前磁盘使用情况时,仅考虑位于适当目录中的此类文件。

因此,定期移动日志文件可以让您规避限制。请注意,必须确保日志不会以某种方式填满您的文件系统,从而删除旧的日志文件!您可以假设有 1 个文件最大 1G,然后定期检查并将文件移动到1-9 的${filename}.n位置,从而最大为 10G ...只要您在文件大小达到最旧时n移动文件。要阅读日志,您可以忽略名字,只考虑最年长到最小的......1G${filename}.n

  • 我认为如果是这种情况,那么手册页就会令人困惑。 (2认同)