在 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”、“”} 。

任何不带后缀的数字将默认被视为字节。

相关内容