在 ArchLinux 中將核心檔案總大小限制為磁碟使用量的 10%

在 ArchLinux 中將核心檔案總大小限制為磁碟使用量的 10%

我需要將產生的核心檔案總大小限制為磁碟使用量的 10%。我已設定ulimit -c為無限制,表示每個檔案大小都是無限的。然後我使用設定檔 /etc/systemd/coredump.conf.d/custom.conf來設定

[Coredump]
Storage=external
#Compress=yes
#ProcessSizeMax=2G
#ExternalSizeMax=2G
#JournalSizeMax=767M
MaxUse=10
#KeepFree=15

我以為這個設定檔會將磁碟使用率限制在10%。但核心文件使用率仍超過10%。

我嘗試設置Storage=none,但仍然生成了核心文件。將 設為ulimit -c0 將停止產生核心檔。但我希望磁碟使用率為 10%。我有什麼遺漏的嗎?

答案1

最大使用=10實際上是說如果轉儲的總大小超過 10 字節,則清理所有較舊的轉儲。

根據下面連結中提到的源代碼: https://github.com/systemd/systemd/blob/4e4e3d97664163267d8295e6f58e0ff8560bea33/src/basic/parse-util.c#L109

看起來 MaxUse 是一個參數,它需要尺寸不是百分比,看起來這裡的手冊頁沒有誤導。

MaxUse 只需要大小,它應該是此集合中提到的後綴之一 -> {“E”、“P”、“T”、“G”、“M”、“K”、“B”、“”}。

任何不帶後綴的數字將預設被視為位元組。

相關內容