Ich habe auf Yosemite (10.10.1) verschiedene "zu viele Dateien im System geöffnet" -Typfehler erhalten. Suchen in der Umgebung schlägt die Einstellung vor kern.maxfiles
und kern.maxfilesperprocess
im /etc/sysctl.conf
.
Ich habe das versucht und kern.maxfilesperprocess
klebt nach einem Neustart, aber kern.maxfiles
tut nicht
% cat /etc/sysctl.conf
# NB DO NOT COPY AND PASTE THIS INTO YOUR CONFIG FILE - IT DOESN'T WORK
kern.maxfiles=20480
kern.maxfilesperproc=18000
(Neustart)
% sysctl kern.maxfiles
kern.maxfiles: 12288
% sysctl kern.maxfilesperproc
kern.maxfilesperproc: 18000
Wenn ich es manuell in der Befehlszeile einstelle, funktioniert es, so dass ich anscheinend keine Obergrenze überschreite:
% sudo sysctl -w kern.maxfiles=20480
kern.maxfiles: 12288 -> 20480
% sysctl kern.maxfiles
kern.maxfiles: 20480
Ich habe gesehen, dass Warnungen über diese Werte in überschrieben wurden /etc/launchd.conf
aber ich habe diese datei nicht:
% cat /etc/launchd.conf
cat: /etc/launchd.conf: No such file or directory
Die Spotlight-Suche findet keine andere Erwähnung von kern.maxfiles
Ich habe keine Ideen mehr. Irgendwelche anderen Vorschläge?
Antworten:
Obwohl Sie Ihre Frage nicht direkt beantworten, werden Sie zwei Lösungen finden Superuser :
Um die Beschränkungen für offene Dateien systemweit in Mac OS X Yosemite anzupassen, müssen Sie zwei Konfigurationsdateien erstellen. Die erste ist eine Eigenschaftslistendatei (aka plist) in '/Library/LaunchDaemons/limit.maxfiles.plist', die die folgende XML-Konfiguration enthält:
Dadurch wird das Limit für offene Dateien auf 65536 festgelegt. Die zweite plist-Konfigurationsdatei sollte in gespeichert werden
/Library/LaunchDaemons/limit.maxproc.plist
mit folgenden Inhalten:Beide plist-Dateien müssen im Besitz von 'root: wheel' sein und über die Berechtigungen '-rw-r - r--' verfügen. Diese Berechtigungen sollten standardmäßig vorhanden sein. Sie können jedoch sicherstellen, dass sie vorhanden sind, indem Sie sie ausführen
sudo chmod 644 <filename>
. Während die oben beschriebenen Schritte dazu führen, dass systemweite Grenzwerte für offene Dateien beim Neustart korrekt festgelegt werden, können Sie sie manuell ausführen, indem Sie sie ausführenlaunchctl limit
.Zusätzlich zum Festlegen dieser Grenzwerte auf Systemebene wird empfohlen, auch auf Sitzungsebene die folgenden Zeilen an Ihre 'bashrc', 'bashprofile' oder eine analoge Datei anzuhängen:
Wie die plist-Dateien sollte Ihre bashrc oder eine ähnliche Datei haben
-rw-r--r--
Berechtigungen. An diesem Punkt können Sie Ihren Computer neu starten und ulimit -n in Ihr Terminal eingeben. Wenn Ihr System korrekt konfiguriert ist, sollten Sie sehen, dass maxfiles auf 65536 gesetzt wurde.Passen Sie die maxfiles & amp; Maxproc-Limit, wie Sie es brauchen
Bezogen aus: http://docs.basho.com/riak/latest/ops/tuning/open-files-limit/
Ändern der
/etc/launchd.conf
Viele Google-Anfragen und SO-Vorschläge schienen für mich in Yosemite (10.10) nicht zu funktionieren. Was nach einigen Kombinationen von Änderungen / Neustarts / Tests funktionierte, war das Ändern (oder Erstellen, wenn es nicht existiert)/etc/sysctl.conf
Datei.Das musste ich einbauen, damit es funktioniert
Ich bin mir nicht sicher, ob 'kern.maxfiles' da drin sein muss, aber als ich es alleine hatte, hatte ich immer noch das gleiche Problem, als ich 'kern.maxfilesperproc' hinzufügte, alles hat funktioniert.
Wenn eine oder beide dieser Lösungen für Sie funktionieren, schreiben Sie bitte die Originalplakate gut.
quelle
Durch eine Kombination aus sicherem / ausführlichem Boot, Konsolenprotokoll und Google habe ich herausgefunden ein ähnliches Problem Das hat mich dazu gebracht, einen Leerraum in der Maxfiles-Zeile zu entdecken. Durch das Entfernen dieses Bereichs wurde das Problem behoben.
Korrigierte Einstellungen (diese können sicher kopiert werden):
quelle
Das Entfernen von nachgestellten Leerzeichen erfordert nur einen Schritt:
Der obige Befehl speichert auch eine Sicherung unter
/etc/sysctl.conf~
.quelle