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.

Olli
źródło
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

Aaron Kangas
źródło
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.

atl
źródło
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ął.

Andrii Lundiak
źródło