Linux
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?
編輯:更正了下面標記所指出的參數名稱,但它在系統上是正確的。
文件中的任何內容都沒有
man journald.conf
承諾使日誌文件像SystemMaxFileSize=
. 文件只承諾不超過該限制。從C 原始碼的業餘閱讀來看,我的解釋是有一個“最小文件大小”,但只有 512k,所以這裡不應該起作用。還有“FILE_SIZE_INCREASE”,與分配增量文件增長有關。我的閱讀是期望文件大小在旋轉發生之前在 SystemMaxFileSize 的 8 MB 內增長。
如果你搜尋整個
systemd
原始碼樹SystemMaxFileSize
,你會發現它被翻譯成上面連結的“.c”文件中的“max_size”變數。由於文件沒有完全回答問題,閱讀相關原始碼可能會讓您更全面地了解您正在尋找的行為。