Jak zmienić domyślne wartości ulimit w Mac OS X 10.6?


42

Mac OS X ogranicza liczbę procesów do 266 i otwiera pliki do 256. Czasami jest to problem; 256 otwartych plików i 266 procesów to niewiele.

Jak można zmienić domyślne wartości ulimit w Mac OS X 10.6.7?

(Mam nadzieję, że nie ma różnicy między 10.6.7 a innymi wydaniami Snow Leopard.)

Powiązane pytanie dotyczące błędu serwera. Niestety odpowiedź dotyczy systemu Mac OS X 10.5 i nie działa w wersji 10.6.


Do szybkiej wymiany: ulimit -n 1024. Ale to nie zmienia wartości domyślnej.
Cœur

Odpowiedzi:


47

launchctl ma teraz nad tym kontrolę.

Możesz zrobić

launchctl limit maxfiles 2048 2048 

ustawić miękkie i twarde ograniczenia maksymalnej liczby otwartych plików. Aby uzyskać więcej informacji, zobacz sekcję „limit” w:

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/launchctl.1.html


1
To nadal działa w OS X 10.9
Olli

Biegnę 10.9.4 i kiedy launchctl limit maxfiles 2048 2048i mongoja wciąż otrzymuję soft rlimits too lowbłąd. Mogę jeszcze spróbować?
Ryan

po zmianie limitu za pomocą sudo launchctl itp., następnie zamknij / otwórz terminal i ustaw ulimit -n 2048. Tym razem powinno to działać. sprawdź to za pomocą ulimit -n
chrismarx

4
Po zrobieniu „launchctl limit maxfiles 2048 2048” dostałem „zbyt wiele otwartych plików” na komputerze Mac, gdy próbowałem zrobić coś w powłoce, a aplikacje Cocoa pokazywały puste menu. System był prawie tostowany. Ponowne uruchomienie na szczęście to naprawiło.
Graham Wheeler,

3
Nie uruchamiaj tego polecenia w systemie macOS Sierra. Prawidłowe polecenie byłoby, launchctl limit maxfiles 2048 unlimitedjednak sugeruję przejrzenie twoich bieżących ustawień launchctl limit maxfilesprzed zrobieniem tego, w przeciwnym razie całkowicie zablokujesz komputer.
snowe2010

8

Istnieje odpowiedź na StackOverflow dla tego. Najwyraźniej ulimitrobi to teraz.


1
Możesz zmienić wartości za pomocą ulimit, ale nie zapisuje ich. Połączony post nie zawiera żadnego sposobu zapisania wartości domyślnych.
Olli,

3
Szybka poprawka: edytuj swój ~ / .bash_profile i dodaj to w wierszu: ulimit -n 1024 (używając oczywiście dowolnej liczby)
PapaFreud

2
@PapaFreud Jest to wykonywane tylko po otwarciu terminalu / bash. Nie wszystkie programy są wykonywane z terminala.
Olli

1

FYI.

.bash_profile aktualizacja nie pomogła mi w wersji 10.10.3 systemu operacyjnego, ale pomogła mi ponowna instalacja NodeJS od 0.10.35 do 0.12.3, a błąd zniknął.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.