Właśnie zaktualizowałem Mac OS X do Yosemite, a teraz niektóre aplikacje nie działają (IBM DB2). Wiem, że muszę ustawić Open Files na 65000, jednak polecenie to nie działa.
Andress-MBP:~ root# ulimit -n 12288
Andress-MBP:~ root# ulimit -n 12289
-sh: ulimit: open files: cannot modify limit: Invalid argument
Dlaczego tak się dzieje i jak mogę rozwiązać problem?
macos
ulimit
osx-yosemite
AngocA
źródło
źródło
Widzę, że zadałeś to pytanie.
Istnieje limit jądra, z którym musisz sobie poradzić, kern.maxfiles, który jest limitem jądra i nie można go przekroczyć przy ustawianiu ulimit.
Zobacz stronę blogu Krypted Maximum Files w Mac OS X, aby uzyskać opis sposobu manipulowania kern.maxifiles przy użyciu sysctl.
Nie załadowałem jeszcze Yosemite na moim komputerze Mac. W
sysctl -w kern.maxfiles=65000
prace nad Mavericks, który ma te same kern.maxfiles = 12288 limitu domyślnie.Sprawdziłem mój VM OS X 10.6.8 i miał ten sam limit, co nasuwa pytanie, jak poprzednio działało przed wersją OS X.
Istnieje udział slajdów ( DB2 dla Mac OS X Instalowanie i konfigurowanie DB2 dla Mac OS X ) pokazujący zalecane limity korzystania z DB2, patrz Zwiększanie parametrów systemu strona 7.
Wygląda na to, że straciłeś
/etc/sysctl.conf
plik podczas aktualizacji.źródło
sysctl(8)
pochodzi z BSD.W systemie Mac OS 10.10 ustawienie ulimit nie może przekroczyć ustawienia limitu uruchamiania.
Dlatego najpierw należy uruchomić maxctiles pliku launchctl w terminalu, aby uzyskać bieżące ustawienie:
Więc w moim przypadku miękki limit wynosi 256, twardy limit jest nieograniczony. A jeśli chcę ustawić limit miękki na 512:
Szczegółowe wykorzystanie launchctl do ustawiania limitów można znaleźć tutaj: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/launchctl.1.html
źródło