modyfikuj i stosuj limit.conf bez ponownego uruchamiania

16

Dodałem linię w /etc/security/limits.confcelu zwiększenia liczby otwartych plików.

*    hard nofile 4096
root hard nofile 16384

Jednak po uruchomieniu ulimit -nmówi 1024, która jest wartością domyślną. Wylogowałem się i zalogowałem, ale nadal widzę 1024. Jak mogę zastosować zmianę?

mahmood
źródło

Odpowiedzi:

8

Jeśli używasz bash, ulimit -nwyświetli się tylko miękki limit. Aby uzyskać twardy limit, musisz to zrobić ulimit -Hn.

W moim systemie widzę to:

$ ulimit -n
1024
$ ulimit -Hn
4096
Flup
źródło
16

Zmiany wprowadzone ulimitpoleceniem:

$ ulimit -n 4096
$ ulimit -Hn 16384

będzie dotyczyć tylko bieżącego użytkownika i sesji. Aby było trwałe, musisz zmodyfikować /etc/security/limits.conf, dodając swoje limity:

* soft nofile 4096
* hard nofile 16384

Jednak symbol wieloznaczny *nie będzie dotyczył rootużytkownika. Aby to zrobić, musisz wyraźnie to powiedzieć:

* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384

Limity te zostaną zastosowane po ponownym uruchomieniu .

Jeśli chcesz zastosować zmiany bez ponownego uruchamiania , zmodyfikuj /etc/pam.d/common-session, dodając ten wiersz na końcu pliku:

session required pam_limits.so

Przy następnym logowaniu powinieneś zobaczyć zaktualizowane limity, możesz je sprawdzić (limity miękkie i twarde):

$ ulimit -a
$ ulimit -Ha
Tombart
źródło
2
Miałem problem z tym podejściem, co było naprawdę dziwne. Używam Ubuntu 14 i włączono pam_limits.sow /etc/pam.d/common-session. Skonfigurowałem u /etc/security/limits.confużytkownika x twarde i miękkie limity dla nofile64000. sudo -u xnastępnie ulimit -apokazuje mi, że zmiany nie zostały zastosowane. Zdałem sobie sprawę, że sui sudomają różne konfiguracje PAM może więc w celu uczynienia go działać prawidłowo Musiałem włączyć pam_limits.sow /etc/pam.d/common-session-noninteractive. Jeśli zastanawiasz się, jaki jest przypadek użycia - używam ansible i sudo do zmiany użytkownika.
hahcho,
1
Z jakiegoś powodu musiałem to dodać /etc/pam.d/common-session-noninteractive, żeby działało.
Sumit