So entfernen Sie die Beschränkung der Größe der Core-Dump-Datei

11

Ich möchte die maximale Größenbeschränkung für Core-Dump-Dateien als regulärer Benutzer erhöhen. Mit bashkann ich es so einstellen:

$ ulimit -c 100

Das funktioniert gut, wenn ich es zum ersten Mal einstelle. Wenn ich diesen Befehl das nächste Mal verwende, kann ich diesen Grenzwert jedoch nur auf einen Wert von nicht mehr als 100 festlegen. Im Allgemeinen kann ich ihn nur dann auf einen beliebigen Wert setzen, wenn ich diesen Befehl zum ersten Mal seit der Anmeldung verwende. Bei allen nächsten Malen werden die möglichen Werte von oben durch den ursprünglich eingestellten Wert begrenzt.

Wie kann ich dies für mehrere Verwendungszwecke des Befehls dauerhaft machen?

Peter Bašista
quelle

Antworten:

9

Per @Peter Bašistas Antwort in seiner eigenen Frage:

Zuerst dachte ich, dies sei ein Fehler, und deshalb habe ich diese Frage gestellt. Aber es stellte sich heraus, dass es einfach ein vollkommen korrektes Verhalten ist. Es stellt sich heraus, dass das RTFM-Sprichwort auch hier gilt.

Wie sich man bashherausstellt, verfügt der ulimiteingebaute Befehl über zusätzliche Parameter: -Hzum Festlegen der sogenannten harten Grenzwerte und -S zum Festlegen der sogenannten weichen Grenzwerte. Wenn keine dieser Optionen angegeben ist, wird standardmäßig ulimitversucht, sowohl die weichen als auch die harten Grenzwerte gleichzeitig auf denselben Wert festzulegen. Und das war das Problem.

Jetzt gibt es ein Zitat aus der bashManpage:

Ein festes Limit kann von einem Nicht-Root-Benutzer nicht erhöht werden, sobald es festgelegt ist.

Also los geht's. Die korrekte Verwendung des ulimitBefehls sollte dies immer berücksichtigen. Am wichtigsten ist, dass es niemals ohne -Hoder ohne -SOptionen verwendet werden sollte, es sei denn, Sie wissen genau, was Sie tun (was ich zu der Zeit offensichtlich nicht war).

Was ich hätte tun sollen, ist ungefähr so:

Nach dem Login: ulimit -H -c unlimited

Jedes Mal, wenn ich die maximale Größe des Core-Dumps ändern möchte ulimit -S -c <new size>

Also, das war's auch schon. Ich hoffe, es könnte jemandem helfen, der mit einem ähnlichen Problem zu kämpfen hat.

Kevin Bowen
quelle