Użycie komendy ulimit zmienia tylko limity zasobów dla bieżącej powłoki i jej dzieci, a sudo ulimit tworzy powłokę roota, dostosowuje jej limity, a następnie wychodzi (w ten sposób, o ile widzę, nie ma prawdziwego efektu).
Aby przekroczyć 12288, musisz dostosować parametry jądra kern.maxfiles i kern.maxfilesperproc, a także (przynajmniej według tego wpisu na blogu , który jest podsumowaniem tej dyskusji ) limit launchd. Możesz użyć launchctl limit do ustawienia ich wszystkich naraz:
sudo launchctl limit maxfiles 1000000 1000000
Aby to było trwałe (tzn. nie resetowało się po restarcie), utwórz /etc/launchd.conf zawierający:
limit maxfiles 1000000 1000000
Ten możesz użyć ulimit (ale bez sudo) do ustawienia limitu procesu.
Jeśli to nie wystarczy, możesz napotkać ograniczenia rozmiaru w jądrze. Jeśli twój model to obsługuje , uruchomienie jądra w trybie 64-bitowym może pomóc.