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.plist
nastę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.conf
Wydaje 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.conf
pliku.
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ć.