我想通过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
正如您所看到的,我只将每个日志文件大小更改为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
我错过了什么?
$ systemctl --version
systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN
This manual也包含此类节目。
第一对默认为10%,第二对默认为15% 相应的文件系统,但每个值的上限为4G。
是否意味着日志可以占用的最大空间是4Gb并且是硬编码的?
答案 0 :(得分:2)
日记邮件仅在满足所有限制 - 时间和空间时才会保留。提高单个限制不会自动覆盖其他限制。
正如文档中所述,SystemMaxUse=
默认为文件系统的10%,而默认值的上限为4 GB(不是Gb!)。你必须手动提高它。
由于您实际上没有为SystemMaxUse=
设置自定义值,因此会继续将日志限制为最多4 GB。