Warum beschränkt `ulimit` nicht die erwartete Speicherauslastung?
Ich versuche die Speichernutzung eines Prozesses zu begrenzen
$ulimit -m 2 $/usr/bin/time -l ./myProcess arg1 arg2
Der Prozessablauf ohne getötet zu werden, bis time
Ausgänge
7.00 real 4.83 user 2.16 sys 4154855424 maximum resident set size 0 average shared memory size 0 average unshared data size 0 average unshared stack size 1014384 page reclaims 0 page faults 0 swaps 0 block input operations 2 block output operations 0 messages sent 0 messages received 0 signals received 0 voluntary context switches 15 involuntary context switches
zeigt, dass das Limit trotz ulimit -m 5
Befehlszeile überschritten wurde. Ich habe auch versucht, die Optionen -v
und -l
aber keiner von ihnen scheint tatsächlich die Speichernutzung zu begrenzen. Ich habe auch versucht time
, sicherzustellen, dass die Speicherbelegung eines Unterprozesses nicht übersehen wird. Hier sind alle Grenzen, nachdem alle benutzt wurden -m
, -v
und-l
$ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, -l) 3 max memory size (kbytes, -m) 2 open files (-n) 256 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 709 virtual memory (kbytes, -v) 2
Wenn ich die CPU-Zeit einschränke ( ulimit -t 3
), funktioniert es einwandfrei und bricht den Prozess nach 3 Sekunden ab.
Frage
Gibt es etwas, was ich falsch verstanden habe ulimit -m 5
? Gibt es einen Fehler in meiner ulimit-Version?
Gibt es eine Alternative, ulimit
um die Zeit und die Speicherauslastung eines Prozesses zu begrenzen (nicht unbedingt die bash-Sitzung)?
Versionen
Ich bin auf MAC OSX 10.11.6
und bash version 3.2.57
.
Verwandte Post
Der Beitrag "ulimit, der die Speichernutzung nicht einschränkt" ist sehr verwandt, aber ich glaube nicht, dass die akzeptierte Antwort eine Lösung für die Lösung des Problems bietet
0 Antworten auf die Frage
Verwandte Probleme
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
10
Wie kann ich die Bash-Historie durchsuchen und einen Befehl erneut ausführen?
-
2
Kann die Ausgabe eines Befehls an zwei andere Befehle weitergeleitet werden?
-
8
Benennen Sie eine Gruppe von Dateien mit einem Befehl um
-
2
Warum aktualisiert sich mein Pfad nicht * jetzt *?
-
5
Wie entferne ich einen symbolischen Link zu einem Verzeichnis?
-
8
Rette mich vor dem Kauderwelsch
-
9
Wie kann ich jeder Zeile einer Textdatei eine Zeilennummer und einen Tabulator voranstellen?
-
2
Ressourcenmonitor für OS X
-
1
Wann sollte ich Konfigurationen in .bashrc vs einfügen? .bash_profile?