Ich muss die Gesamtgröße der generierten Kerndateien auf 10 % meiner Festplattennutzung begrenzen. Ich habe sie ulimit -c
auf unbegrenzt eingestellt, was bedeutet, dass jede Dateigröße unbegrenzt ist. Dann habe ich die Konfigurationsdatei verwendet,
/etc/systemd/coredump.conf.d/custom.conf
um Folgendes festzulegen:
[Coredump]
Storage=external
#Compress=yes
#ProcessSizeMax=2G
#ExternalSizeMax=2G
#JournalSizeMax=767M
MaxUse=10
#KeepFree=15
Ich dachte, diese Konfigurationsdatei würde die Festplattennutzung auf 10 % begrenzen. Aber die Nutzung der Kerndateien übersteigt immer noch 10 %.
Ich habe versucht, die festzulegen Storage=none
, aber trotzdem wurden die Kerndateien generiert. Durch das Festlegen ulimit -c
auf 0 wurden die Kerndateien nicht mehr generiert. Aber ich möchte, dass die Festplattennutzung 10 % beträgt. Übersehe ich etwas?
Antwort1
MaxUse=10besagt tatsächlich, dass alle älteren Dumps gelöscht werden sollen, wenn die Gesamtgröße der Dumps 10 Byte überschreitet.
Gemäß dem Quellcode, der im folgenden Link erwähnt wird: https://github.com/systemd/systemd/blob/4e4e3d97664163267d8295e6f58e0ff8560bea33/src/basic/parse-util.c#L109
Es sieht so aus, als ob MaxUse ein Argument ist, dasGrößeUndNICHTProzentsatz, es sieht so aus, als ob die Manpage hier etwas irreführend ist.
MaxUse nimmt nur die Größe an und sollte eines der in diesem Set genannten Suffixe sein -> {"E", "P", "T", "G", "M", "K", "B", ""} .
Jede Zahl ohne Suffix wird standardmäßig als Bytes betrachtet.