Czy zmiany /etc/security/limits.conf
wymagają ponownego uruchomienia przed wejściem w życie?
Na przykład, jeśli mam skrypt, który ustawia następujące ograniczenia /etc/security/limits.conf
, czy wymaga to ponownego uruchomienia systemu, zanim ograniczenia te zaczną obowiązywać?
* hard nofile 94000
* soft nofile 94000
* hard nproc 64000
* soft nproc 64000
Odpowiedzi:
Nie, ale powinieneś zamknąć wszystkie aktywne okna sesji. Wciąż pamiętają stare wartości. Innymi słowy, wyloguj się i zaloguj ponownie. Każda zdalna nowa sesja lub lokalna bezpieczna powłoka wpływają na zmiany limitów .
źródło
nofile
limit94000
dlamongodb
użytkownika? Jak mogłem to zrobić bez restartu? Czy wystarczy zrestartowaćmongodb
usługę?prlimit
.sudo service mongodb restart
wystarcza, aby usługa działała z nowymi wartościami granicznymi.upstart
nie czyta / etc / security config bugs.launchpad.net/ubuntu/+source/upstart/+bug/938669 , musisz ustawić sekcjęlimit
w pliku konfiguracyjnym upstart.upstart
z założenia ignoruje ustawione limity/etc/security/limits.conf
.Zastosuj zmiany bezpośrednio do uruchomionego procesu, jeśli masz zainstalowany program prlimit (dostarczany z plikiem util-linux-2.21)
na przykład
Zobacz tutaj
źródło
Aby tymczasowo ustawić limit otwartych plików dla użytkownika, na którym jesteś aktualnie zalogowany (np. „Root”): Możesz także użyć
ulimit
polecenia, aby zmienić wartości w bieżącej powłoce. Jednak twarde limity można zmienić tylko w dół, chyba że jesteś rootem.Przykład:
Aby zmienić
nofile
do 94000 można zrobić:źródło
Limity są dziedziczone z procesu nadrzędnego do jego procesów podrzędnych. Procesy działające jako root mogą dowolnie zmieniać limity; inne procesy nie mogą zwiększyć twardych limitów. Zatem twarde limity ustawione przez proces logowania wpływają na wszystkie procesy w sesji.
Jeśli zmienisz
/etc/security/limits.conf
, wpłynie to na wszystkie nowe sesje i procesy w tych nowych sesjach. Nie wpłynie to na procesy, które są już uruchomione, ani procesy uruchomione przez procesy, które już działają.Jeśli więc musisz zwiększyć pewne limity, musisz się wylogować i zalogować ponownie lub rozpocząć kolejną sesję (np. Z
ssh localhost
lub na innej konsoli).źródło
Cytując odpowiedź @ Tombart
źródło