使用 systemd-journald 在内存中存储更多日志

使用 systemd-journald 在内存中存储更多日志

我知道systemd-journald默认情况下将其日志保留在内存中。

有谁知道这些日志的限制是什么以及如何增加它?从顶部的横幅来看,它们似乎只保留了 3 个小时:

-- Logs begin at Tue 2018-11-20 06:40:21 CET, end at Tue 2018-11-20 09:56:45 CET. --

我想systemd-journald记录更多内容,但我不想打开持久性,因为它在 Raspberry Pi 上运行,并且我想防止 SD 卡因写入而损坏。

答案1

journald.conf使用存储时的相关选项是带有“Runtime ”volatile前缀的选项:
RuntimeMaxUse=RuntimeKeepFree=RuntimeMaxFileSize=RuntimeMaxFiles=

手册:

当日志文件存储在易失性内存文件系统上时,以“运行时”为前缀的选项适用于日志文件,更具体地说 /run/log/journal

因此,您必须考虑以下问题:日志可以在文件系统
RuntimeMaxUse=中占用多少空间 ,以及保存日志后文件系统中应保留多少可用空间/run

RuntimeKeepFree=/run

根据同一手册,systemd-journald将尊重这两个限制并使用两个值中较小的一个:第一个默认为相应文件系统大小的 10%,第二个默认为 15%,但每个值的上限为 4G。
请注意这些选项仅接受绝对值+单位

答案2

在你的日志配置文件中:

/etc/systemd/journald.conf

您应该有一些预定义的选项。对选项进行去散列:

存储=持久

然后在/var/log/journal中创建日志目录。如果该目录不存在,journald 将不会在重新启动之间存储日志。

sudo mkdir /var/log/journal

此外,标志 -a“all”和 -m“merege”甚至会收集其他用户的所有日志。然后使用 --since 将为您提供可靠的范围。

journalctl --since "2018-01-01 08:30:00" -xema

添加 -f 将为您提供跟踪并显示日志

相关内容