Shell-Sitzungslimit
Die über festgelegten Grenzen wirken sich ulimit
nur auf Prozesse aus, die von der aktuellen Shell-Sitzung erstellt wurden.
- Das "weiche Limit" ist das tatsächlich verwendete Limit. Es könnte eingestellt werden, soweit es nicht größer als die "harte Grenze" ist.
- Die "harte Grenze" könnte auch festgelegt werden, jedoch nur auf einen Wert, der kleiner als der aktuelle ist, und nur auf einen Wert, der nicht kleiner als die "weiche Grenze" ist.
- Das "harte Limit" sowie systemweite Limits können von
root
(dem Administrator) durch Ausführen von Systemkonfigurationsbefehlen oder Ändern von Systemkonfigurationsdateien angehoben werden.
Nachdem Sie die Shell-Sitzung beendet haben (durch Ctrl+ D, exit
oder Schließen des Terminal.app
Fensters usw.), sind die Einstellungen weg. Wenn Sie die gleiche Einstellung in der nächsten Shell-Sitzung wünschen, fügen Sie die Einstellung dem Shell-Startskript hinzu.
HINWEIS: Wenn Sie verwenden bash
, sollte dies ~/.bash_proile
oder sein ~/.bash_login
. Wenn Sie andere Shells verwenden, sollte dies wahrscheinlich der Fall sein ~/.profile
.
Systemlimit (Neustart erforderlich, um wirksam zu werden)
Für 10.9 (Mavericks), 10.10 (Yosemite), 10.11 (El Capitan) und 10.12 (Sierra):
Sie müssen eine Datei erstellen unter /Library/LaunchDaemons/limit.maxfiles.plist
(Eigentümer:, root:wheel
Modus:) 0644
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxfiles</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxfiles</string>
<string>262144</string>
<string>524288</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>
Sie sollten die Nummern entsprechend Ihren Anforderungen ändern. Sie sind das "weiche Limit" ( 262144
) bzw. das "harte Limit" ( 524288
). Weitere Informationen finden Sie auf der Handbuchseite, indem Sie ausführen man launchd.plist
.
Für 10.8 (Berglöwe):
Sie können die folgenden Zeilen zu /etc/sysctl.conf
(Eigentümer:, root:wheel
Modus :) hinzufügen 0644
:
kern.maxfiles=524288
kern.maxfilesperproc=262144
Sie sollten die Nummern entsprechend Ihren Anforderungen ändern. Sie sind das "systemweite Limit" ( kern.maxfiles
) bzw. "pro-Prozess-Limit" ( kern.maxfilesperproc
). Weitere Einstellungen finden Sie auf der Handbuchseite, indem Sie man sysctl
ausführen, oder lesen Sie den Quellcode unter /usr/include/sys/sysctl.h
.
Für ältere Mac OS X (ich denke, es funktioniert unter 10.7 (Lion) oder früher):
Sie können die folgende Zeile zu /etc/launchd.conf
(Eigentümer:, root:wheel
Modus :) hinzufügen 0644
:
limit maxfiles 262144 524288
Sie sollten die Nummern entsprechend Ihren Anforderungen ändern. Sie sind das "weiche Limit" ( 262144
) bzw. das "harte Limit" ( 524288
).
Wenn das System nicht zulässt, dass Sie die Grenzwerte über einen bestimmten Wert setzen ...
Das System lässt nicht zu, dass Sie einen höheren Wert als ein "hartes Maximum" (von Apple vorgeschlagen) festlegen. Um dieses "harte Maximum" zu erhöhen, müssen Sie "OS X Server" im "App Store" kaufen und dann den folgenden Befehl einmal ausführen:
sudo serverinfo --setperfmode true
Dadurch wird der "Server-Leistungsmodus" auf Ihrem Computer aktiviert. Sie können dann das Maximum entsprechend der Konfiguration Ihres Geräts einstellen (siehe dies) . Ich habe das schon mal versucht (auf Mountain und Mavericks) und es funktioniert! Weitere Informationen finden Sie in meinem Beitrag ( hier ).
Verweise