Wie ändere ich die Standardwerte für ulimit in Mac OS X 10.6?

42

Mac OS X begrenzt die Anzahl der Prozesse auf 266 und die Anzahl der geöffneten Dateien auf 256. Manchmal ist dies ein Problem. 256 offene Dateien und 266 Prozesse sind nicht so viel.

Wie ist es möglich, die Standardwerte für ulimit in Mac OS X 10.6.7 zu ändern?

(Hoffentlich gibt es keinen Unterschied zwischen 10.6.7 und anderen Snow Leopard-Versionen.)

Verwandte Frage in Serverfehler. Die Antwort ist leider für Mac OS X 10.5 und funktioniert in 10.6 nicht.

Olli
quelle
Für eine schnelle Änderung: ulimit -n 1024. Die Standardeinstellung wird jedoch nicht geändert.
Cœur

Antworten:

47

launchctl hat jetzt die Kontrolle darüber.

Sie können ein tun

launchctl limit maxfiles 2048 2048 

Festlegen der weichen und harten Grenzwerte für die maximale Anzahl geöffneter Dateien. Weitere Informationen finden Sie im Abschnitt 'Limit' von:

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/launchctl.1.html

Aaron Kangas
quelle
1
Dies funktioniert immer noch in OS X 10.9
Olli
Ich lasse 10.9.4 laufen und wenn ich launchctl limit maxfiles 2048 2048und mongoich immer noch den soft rlimits too lowFehler erhalten. Kann ich noch etwas versuchen?
Ryan
Nachdem Sie das Limit mit sudo launchctl usw. geändert haben, schließen / öffnen Sie das Terminal und stellen Sie das ulimit -n 2048 ein. Diesmal sollte es funktionieren. überprüfen Sie es mit ulimit -n
chrismarx
4
Nachdem ich 'launchctl limit maxfiles 2048 2048' ausgeführt habe, habe ich 'zu viele offene Dateien' auf meinem Mac, als ich versucht habe, etwas in der Shell zu tun, und Cocoa-Apps zeigten leere Menüs an. Das System war ziemlich geröstet. Ein Neustart hat es dankenswerterweise behoben.
Graham Wheeler
3
Führen Sie diesen Befehl nicht unter macOS Sierra aus. Der richtige Befehl wäre, launchctl limit maxfiles 2048 unlimitedwenn ich vorschlagen würde, launchctl limit maxfilesvorher Ihre aktuellen Einstellungen zu überprüfen, da Sie sonst Ihren Computer vollständig sperren würden.
snowe2010
8

Auf StackOverflow gibt es eine Antwort. Anscheinend ulimitmacht es jetzt.

atl
quelle
1
Sie können Werte mit ulimit ändern, diese werden jedoch nicht gespeichert. Verknüpfter Beitrag enthält keine Möglichkeit zum Speichern von Standardeinstellungen.
Olli
3
Eine schnelle Lösung: Bearbeiten Sie Ihr ~ / .bash_profil und fügen Sie dies in eine Zeile ein: ulimit -n 1024 (natürlich unter Verwendung einer beliebigen Nummer)
PapaFreud
2
@PapaFreud Wird nur ausgeführt, wenn Sie das Terminal / die Bash öffnen. Nicht alle Programme werden vom Terminal ausgeführt.
Olli
1

Zu Ihrer Information.

.bash_profile Das Update für OS 10.10.3 hat mir nicht geholfen, aber die Neuinstallation von NodeJS von 0.10.35 auf 0.12.3 hat mir geholfen, und der Fehler ist verschwunden.

Andrii Lundiak
quelle