Nie mogę się dowiedzieć, co dokładnie jest potrzebne, aby umożliwić maksymalną liczbę deskryptorów plików na stałe dla wszystkich użytkowników.
/etc/security/limits.conf
:
root hard nofile 1500000
root soft nofile 1000000
root hard nproc 15000
root soft nproc 10000
* hard nofile 1500000
* soft nofile 1000000
* hard nproc 15000
* soft nproc 10000
Umieściłem następujące elementy w /etc/pam.d/common-session
:
session required pam_limits.so
Po ponownym uruchomieniu zalogowanie się jako dowolny użytkownik i wydanie ulimit -n
spowodowało 1024
.
Potem próbowałem wymagać pam_limits.so
w każdym pliku poniżej /etc/pam.d
. Zrestartowano. Zalogowany. Brak szczęścia.
Jeśli wydam polecenie ulimit -n 1000000
, sprawdź, czy limit jest ustawiony zgodnie z oczekiwaniami. Więc umieściłem @reboot ulimit -n 1000000
w crontab -e
. Zrestartowano. Zalogowany. Brak szczęścia.
Sprawdziłem /etc/ssh/sshd_config
i PAM jest włączony.
Próbowałem ustawić limity przy każdym ponownym uruchomieniu za pomocą:
/sbin/sysctl -w fs.file-max=1000000
/sbin/sysctl -p
Brak szczęścia.
Mam serwer, który ma mnóstwo równoczesnego ruchu i potrzebuję tak wysokich limitów, ponieważ zajmuje to serwerowi bardzo dużo czasu, aby usunąć deskryptory plików. Co muszę zrobić, aby trwale podnieść limit deskryptorów plików?
session require pam_limits.so
gdziekolwiek umieścić ?/etc/security/limits.conf
i przywracanie wszystkiego do stanu początkowego działało. Dzięki!