Der Befehl ulimit
ändert nur die Ressourcenlimits für die aktuelle Shell und ihre Kinder. sudo ulimit
erstellt eine Root-Shell, passt deren Limits an und beendet sich dann (und hat damit, soweit ich sehen kann, keinen wirklichen Effekt).
Um 12288 zu überschreiten, müssen Sie die kern.maxfiles
- und kern.maxfilesperproc
-Parameter des Kernels anpassen, und auch (zumindest laut diesem Blogeintrag , der eine Zusammenfassung von dieser Diskussion ist) ein launchd-Limit. Sie können launchctl limit
verwenden, um alle diese Parameter auf einmal einzustellen:
sudo launchctl limit maxfiles 1000000 1000000
Um dies dauerhaft zu machen (d.h. nicht zurückgesetzt, wenn Sie neu starten), erstellen Sie /etc/launchd.conf
mit:
limit maxfiles 1000000 1000000
Dann können Sie ulimit
(aber ohne das sudo
) verwenden, um Ihr Prozesslimit einzustellen.
Wenn dies nicht ausreicht, stoßen Sie möglicherweise auf Größenbeschränkungen im Kernel. Wenn Ihr Modell es unterstützt , kann das Booten des Kernels im 64-Bit-Modus helfen.