Es gibt keine ulimit-Konfiguration in Systemstartdateien / Shell-Startskripten.
ulimit -a
zeigt an:
-u: processes 1064
-n: file descriptors 256
launchctl limit
zeigt an:
maxproc 2048 2048
maxfiles 2048 2048
Ich erinnere mich vage daran, dass die Grenzen von launchctl mit der ulimit-Ausgabe einer Shell übereinstimmen sollten. Ich könnte mich irren.
Gibt es einen Zusammenhang zwischen den Grenzen des Lauchctl und dem Ulimit?
Antworten:
In der Shell bietet ulimit "Kontrolle über die Ressourcen, die der Shell zur Verfügung stehen, und über die von ihr gestarteten Prozesse" (siehe
man bash
). Daher gilt es nur für die Shell und ihre untergeordneten Elemente. Die Grenzen für launchd hängen damit zusammen und mit den von ihm verwalteten Prozessen. Die beiden sind getrennt.Einzelne Programme können ihre eigenen Ressourcenlimits festlegen, indem sie die Standard C Library-Routinen
ulimit()
odergetrlimit()
und aufrufensetrlimit()
. Bestimmte Ressourcenlimits können nur erhöht werden, wenn der Prozess als Superuser ausgeführt wird.Als praktisches Beispiel debugge ich große Softwareprojekte und das Standardlimit der Shell für die Anzahl der geöffneten Dateien ist nicht groß genug. In meiner .bashrc-Datei habe ich Folgendes:
Jetzt wird sich mein Debugger nicht beschweren, dass er nicht alle benötigten Dateien öffnen kann. Dies sollte natürlich keine Auswirkungen auf den Start haben.
quelle
launchctl limit
; Der Benutzer kann zwar die ulimit-Zahlen ändern, sie dürfen jedoch dielaunchctl limit
harten Grenzwerte nicht überschreiten .