Мне нужно ограничить общий размер генерируемых файлов ядра до 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 -c
в 0 прекратила генерацию файлов ядра. Но я хочу, чтобы использование диска было 10%. Есть ли что-то, что я упускаю?
решение1
МаксИспользование=10на самом деле говорит о необходимости очистки всех старых дампов, если общий размер дампов превышает 10 байт.
Согласно исходному коду, указанному по ссылке ниже: https://github.com/systemd/systemd/blob/4e4e3d97664163267d8295e6f58e0ff8560bea33/src/basic/parse-util.c#L109
Похоже, что MaxUse — это аргумент, который принимаетРазмериНЕТпроцент, похоже, что страница руководства немного вводит в заблуждение.
MaxUse принимает только размер и должен быть одним из суффиксов, упомянутых в этом наборе -> {"Э","П","Т","Г","М","К","Б",""} .
Любое число без суффикса по умолчанию будет считаться байтом.