
我的系統運行CentOS 7,有超過1T的可用磁碟空間。 systemd 版本是 219。
Storage=persistent
SplitMode=none
SystemMaxUse=50G
SystemMaxFileSize=1G
#MaxFileSec=1month (default)
然而,生成的日誌檔案小於 1G,它們被切割為大約 500M,如該螢幕截圖所示。
我正在對系統進行嚴格的測試,日誌每天充滿超過 1G,所以它不是 MaxFileSec 起作用的。然而,從螢幕截圖中的時間戳記可以看出,頂部的兩個日誌檔案似乎不再被填充。
我的問題是,為什麼日誌檔的大小沒有達到配置的1G?
編輯:更正了下面 Mark 指出的參數名稱,但它在系統上是正確的。
答案1
文檔中沒有任何內容man journald.conf
承諾使日誌文件與SystemMaxFileSize=
.該文件僅承諾不超過該限制。
來自業餘閱讀C原始碼,我的解釋是有一個“最小檔案大小”,但只有 512k,所以不應該在這裡發揮作用。還有“FILE_SIZE_INCREASE”,與分配增量文件成長有關。我的解讀是,在輪調發生之前,檔案大小預計會成長到 SystemMaxFileSize 的 8 MB 以內。
如果您在整個systemd
原始程式碼樹中搜索SystemMaxFileSize
,您會發現它被轉換為上面連結的“.c”檔案中的“max_size”變數。
由於文件沒有完全回答問題,因此閱讀相關原始程式碼可能會讓您更全面地了解您正在尋找的行為。