Systemd

儘管 Storage=persistent,systemd-journald 系統日誌在引導過程中並不持久

  • October 11, 2018

我最近遇到了一個問題,systemd 沒有保留以前引導的日誌。我在這里和其他地方檢查了幾個答案,但沒有找到解決方案。

問題是使用者日誌在引導過程中保持不變,但係統日誌不是

/etc/systemd/journald.conf

[Journal]
Storage=persistent
SystemMaxUse=500M
SystemMaxFiles=5

journalctl -b -1

[root@2ba2de9e /var/log/journal] # journalctl --system -b -1
Data from the specified boot (-1) is not available: No such boot ID in journal

我在一些樹莓派上使用archlinux arm

版本4.14.24-1-ARCH systemd 237.64-1 systemd-sysvcompat 237.64-1

任何人都知道為什麼會發生這種情況?在我的台式機上,這可以正常工作嗎?

由於磁碟空間不足,journald 可能正在刪除舊日誌。(您沒有提到啟動後多久-b -1不工作,所以我不知道您當時是否有很多目前啟動的日誌。)

您已SystemMaxUse=500M配置,但如果您沒有太多可用磁碟空間,journald 可能會決定使用少於 500MB 的空間。還有一個SystemKeepFree=...設置,預設為文件系統大小的 15%(或 4GB,無論哪個更小),journald 會比您允許的空間更嚴格地執行該限制。如果您/var/log/journal的分區很緊,也許這可能是問題的一部分。

您可以使用一些命令來檢查 journald 正在使用多少空間,例如:

$ journalctl --disk-usage

您還可以查看 journald 知道的靴子數量(以及它們的時間和 ID):

$ journalctl --list-boots

這些也可能有助於闡明您的問題…

我希望這有幫助!

引用自:https://serverfault.com/questions/901549