Ich versuche, etwas zu tun, das eine große Anzahl von Dateideskriptoren erfordert
sudo ulimit -n 12288
ist so hoch wie Snow Leopard gehen will; darüber hinaus ergibt sich
/ usr / bin / ulimit: Zeile 4: ulimit: offene Dateien: Änderung nicht möglich limit: Ungültiges Argument.
Ich möchte die Zahl viel höher anheben, sagen wir 100000. Ist es möglich?
mac
osx-snow-leopard
ulimit
file-descriptors
Chris Poole
quelle
quelle
echo limit maxfiles 10000 10000|sudo tee -a /etc/launchd.conf
und Neustarten funktioniert bei mir in Mavericks.Antworten:
Wenn Sie den
ulimit
Befehl verwenden, werden nur die Ressourcengrenzen für die aktuelle Shell und ihresudo ulimit
untergeordneten Shell geändert und eine Stamm-Shell erstellt, deren Grenzen angepasst und dann beendet (was meines Erachtens keine wirklichen Auswirkungen hat).Um 12288 zu überschreiten, müssen Sie den Kernel
kern.maxfiles
und diekern.maxfilesperproc
Parameter sowie (zumindest gemäß diesem Blogeintrag , der eine Zusammenfassung dieser Diskussion darstellt ) ein Startlimit anpassen . Mit können Sielaunchctl limit
alle Einstellungen gleichzeitig vornehmen:Um dies dauerhaft zu machen (dh nicht zurückzusetzen, wenn Sie neu starten), erstellen Sie
/etc/launchd.conf
Folgendes:Dann können Sie
ulimit
(aber ohne diesudo
) verwenden, um Ihr Prozesslimit anzupassen.Wenn dies nicht der Fall ist, stoßen Sie möglicherweise auf Größenbeschränkungen im Kernel. Wenn Ihr Modell dies unterstützt , kann das Booten des Kernels im 64-Bit-Modus hilfreich sein.
quelle
sudo launchctl limit maxfiles 1000000 unlimited
Weder das harte noch das weiche Limit für "maxfiles" kann unbegrenzt sein. Bitte verwenden Sie für beide einen numerischen Parameter.launchd.conf
. Ich denke, wenn die Zahl zu klein ist, kann es Ihren Computer unbrauchbar machen.limit maxfiles 1024 1024
Ich habe es zum Beispiel benutzt und es fiel mir sehr schwer, es zurück zu ändern.Das Folgende sollte die meisten Lösungen auflösen (und wird in der Reihenfolge ihrer Hierarchie aufgelistet):
Anmerkungen:
quelle
Es scheint, als gäbe es für jede Version von OS X eine völlig andere Methode, um das Limit für geöffnete Dateien zu ändern!
Für OS X Sierra (10.12.X) müssen Sie:
1.
Library/LaunchDaemons
Erstellen Sie eine Datei mit dem Namenlimit.maxfiles.plist
und fügen Sie Folgendes ein (Sie können die beiden Zahlen (die weichen bzw. harten Grenzen) jederzeit ändern):2. Ändern Sie den Eigentümer Ihrer neuen Datei:
3. Laden Sie diese neuen Einstellungen:
4. Überprüfen Sie abschließend, ob die Grenzwerte korrekt sind:
quelle
Es scheint, dass OS X Lion "unbegrenzt" als Wert nicht zulässt:
Die Eingabe numerischer Werte für die weiche und die harte Grenze erledigt die Aufgabe:
quelle
-1
als Wert zu12288
. Es ist möglich, größere numerische Werte zu verwenden, zsudo launchctl limit maxfiles 15000 150000
. Ich bin mir dann allerdings nicht sicher, ob diese Einstellungen einen Effekt haben.Auf Mavericks ist es einfach. Als regulärer Benutzer:
ulimit -n 8192
Sie können die aktualisierten Einstellungen über überprüfen
ulimit -a
Auf meinem Rechner:
quelle
echo limit maxfiles 10000 10000|sudo tee -a /etc/launchd.conf
ihren Computer verwenden und dann neu startenUnter OS X 10.13.6 funktioniert das für mich:
quelle
Einige Grenzwerte können nicht geändert werden
ulimit
, da sie nur für die aktuelle Shell gelten. Daherlaunchctl
sollte der Befehl verwendet werden, um die Grenzwerte global zu ändern, zBitte beachten Sie, dass das Anwenden dieser Grenzwerte in
/etc/launchd.conf
(wie in anderen Antworten vorgeschlagen) in den aktuellen Versionen von macOS nicht mehr unterstützt wird. Kann zwar weiterhinlaunchd.plist
(sieheman launchd.plist
:) benutzerspezifische oder systemweiteplist
Konfigurationsdateien verwenden, wie hier , da und dort empfohlen .Um diese Grenzwerte dauerhaft zu erhalten, können Sie
/etc/sysctl.conf
file verwenden und zum Beispiel Folgendes hinzufügen:Damit Änderungen wirksam werden, ist ein Neustart erforderlich.
Führen Sie Folgendes aus, um die aktuellen Grenzwerte anzuzeigen:
launchctl limit
odersysctl -a | grep ^kern.max
.Siehe auch: So behalten Sie die Einstellungen von ulimit unter macOS bei
quelle