Aby dostosować limity otwartych plików w całym systemie w systemie Mac OS X Yosemite, musisz utworzyć dwa pliki konfiguracyjne. Pierwszy to plik listy właściwości (aka plist) w pliku „/Library/LaunchDaemons/limit.maxfiles.plist”, który zawiera następującą konfigurację XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxfiles</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxfiles</string>
<string>65536</string>
<string>65536</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>
Spowoduje to ustawienie limitu otwartych plików na 65536. Drugi plik konfiguracyjny plist powinien być przechowywany w /Library/LaunchDaemons/limit.maxproc.plistnastępującej treści:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxproc</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxproc</string>
<string>2048</string>
<string>2048</string>
</array>
<key>RunAtLoad</key>
<true />
<key>ServiceIPC</key>
<false />
</dict>
</plist>
Oba pliki plist muszą być własnością „root: wheel” i mieć uprawnienia „-rw-r - r--”. Uprawnienia te powinny być domyślnie na miejscu, ale można je zapewnić, uruchamiając je sudo chmod 644 <filename>. Chociaż powyższe kroki spowodują prawidłowe ustawienie ogólnosystemowych limitów otwartych plików po ponownym uruchomieniu, możesz je zastosować ręcznie, uruchamiając launchctl limit.
Oprócz ustawiania tych limitów na poziomie systemu zalecamy również ustawienie na poziomie sesji, dołączając następujące wiersze do pliku „bashrc”, „bashprofile” lub pliku analogicznego:
ulimit -n 65536
ulimit -u 2048
Podobnie jak pliki plist, twój bashrc lub podobny plik powinien mieć -rw-r--r--uprawnienia. W tym momencie możesz ponownie uruchomić komputer i wpisać ulimit -n w swoim terminalu. Jeśli twój system jest poprawnie skonfigurowany, powinieneś zobaczyć, że maxfiles został ustawiony na 65536.
Dostosuj maxfiles i limit maxproc według potrzeb
Źródło: http://docs.basho.com/riak/latest/ops/tuning/open-files-limit/
/etc/launchd.confWydaje mi się, że modyfikowanie liczby zapytań Google i sugestii SO nie działa w Yosemite (10.10). Po wielu kombinacjach zmiany / restartu / testu skończyło się to modyfikowaniem (lub tworzeniem, jeśli nie istnieje) /etc/sysctl.confpliku.
Właśnie to musiałem wprowadzić, aby działało
kern.maxfiles=65536
kern.maxfilesperproc=65536
Nie jestem pewien, czy „kern.maxfiles” musi tam być, ale kiedy już go tam miałem, nadal miałem ten sam problem, kiedy dodałem „kern.maxfilesperproc” wszystko zaczęło działać.