Odpowiedzi:
Zmiany wprowadzone ulimit
poleceniem:
$ 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ł root
uż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
/etc/pam.d/common-session-noninteractive
, żeby działało.
pam_limits.so
w/etc/pam.d/common-session
. Skonfigurowałem u/etc/security/limits.conf
użytkownika x twarde i miękkie limity dlanofile
64000.sudo -u x
następnieulimit -a
pokazuje mi, że zmiany nie zostały zastosowane. Zdałem sobie sprawę, żesu
isudo
mają różne konfiguracje PAM może więc w celu uczynienia go działać prawidłowo Musiałem włączyćpam_limits.so
w/etc/pam.d/common-session-noninteractive
. Jeśli zastanawiasz się, jaki jest przypadek użycia - używam ansible i sudo do zmiany użytkownika.