Limit sesji Shell
Ustawione limity ulimitwpływają tylko na procesy utworzone przez bieżącą sesję powłoki.
- „Limit miękki” to faktyczny limit, który jest używany. Można go ustawić, o ile nie jest on większy niż „twardy limit”.
- Można również ustawić „twardy limit”, ale tylko na wartość mniejszą niż bieżąca i tylko na wartość nie mniejszą niż „miękki limit”.
- „Twardy limit”, a także ogólnosystemowe limity, może zostać podniesiony przez
root(administratora) poprzez wykonanie poleceń konfiguracji systemu lub zmodyfikowanie plików konfiguracji systemu.
Po zakończeniu sesji powłoki (przez Ctrl+ D, exitlub zamknięcie Terminal.appokna itp.) Ustawienia znikają. Jeśli chcesz mieć to samo ustawienie w następnej sesji powłoki, dodaj to ustawienie do skryptu uruchamiania powłoki.
UWAGA: Jeśli używasz bash, powinien to być ~/.bash_proilelub ~/.bash_login. Jeśli używasz innych powłok, prawdopodobnie tak powinno być ~/.profile.
Limit systemu (wymaga ponownego uruchomienia)
Dla 10.9 (Mavericks), 10.10 (Yosemite), 10.11 (El Capitan) i 10.12 (Sierra):
Musisz utworzyć plik w /Library/LaunchDaemons/limit.maxfiles.plist(właściciel:, root:wheeltryb:) 0644:
<?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>262144</string>
<string>524288</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>
Powinieneś zmienić liczby zgodnie ze swoimi potrzebami. Są to odpowiednio „miękkie ograniczenie” ( 262144) i „twarde ograniczenie” ( 524288). Aby uzyskać więcej informacji, zapoznaj się ze stroną podręcznika, uruchamiając man launchd.plist.
Dla 10,8 (Mountain Lion):
Możesz dodać następujące wiersze do /etc/sysctl.conf(owner:, root:wheelmode:) 0644:
kern.maxfiles=524288
kern.maxfilesperproc=262144
Powinieneś zmienić liczby zgodnie ze swoimi potrzebami. Są to odpowiednio „limit ogólnosystemowy” ( kern.maxfiles) i „limit na proces” ( kern.maxfilesperproc). Aby uzyskać więcej ustawień, sprawdź stronę podręcznika, uruchamiając man sysctllub przeczytaj kod źródłowy na /usr/include/sys/sysctl.h.
W przypadku starszego systemu Mac OS X (chyba działa na wersji 10.7 (Lion) lub wcześniejszej):
Możesz dodać następujący wiersz do /etc/launchd.conf(owner:, root:wheelmode:) 0644:
limit maxfiles 262144 524288
Powinieneś zmienić liczby zgodnie ze swoimi potrzebami. Są to odpowiednio „miękkie ograniczenie” ( 262144) i „twarde ograniczenie” ( 524288).
Jeśli system nie pozwala ustawić limitów powyżej określonej wartości ...
System nie pozwala ustawić wartości wyższej niż „twarde maksimum” (zaproponowane przez Apple). Aby zwiększyć to „twarde maksimum”, musisz kupić „OS X Server” w „App Store”, a następnie raz wykonać następujące polecenie:
sudo serverinfo --setperfmode true
Aktywuje to „tryb wydajności serwera” na twoim komputerze. Następnie możesz ustawić maksimum zgodnie z konfiguracją urządzenia (patrz to) . Próbowałem już wcześniej (w Mountain i Mavericks) i działa! Proszę zobaczyć mój post ( tutaj ), aby uzyskać więcej informacji.
Bibliografia