Trwałe podnoszenie limitów plików w Ubuntu 14.04 LTS

12

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 -nspowodowało 1024.

Potem próbowałem wymagać pam_limits.sow 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 1000000w crontab -e. Zrestartowano. Zalogowany. Brak szczęścia.

Sprawdziłem /etc/ssh/sshd_configi 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?

w3rthl3ss
źródło

Odpowiedzi:

11

W ten sposób zwiększyłem liczbę plików dla wszystkich (segment od /etc/security/limits.conf):

#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files (Doug: - so Samba will not complain)
* - nofile 16384
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)

To było na serwerze 12.04. Jednak przetestowałem 100000 na moim serwerze 14.04 i działało dobrze.

~/config/security$ ulimit -n
16384
Doug Smythies
źródło
2
To wciąż nie działało. Czy musiałeś session require pam_limits.sogdziekolwiek umieścić ?
w3rthl3ss
Nie. Właśnie dokonałem edycji jako sudo i uruchomiłem ponownie, zanim ulimit wynosił 1024, a po ulimit na moim serwerze testowym 14.04 wyniósł 100000.
Doug Smythies
Po prostu dostosowywanie /etc/security/limits.confi przywracanie wszystkiego do stanu początkowego działało. Dzięki!
w3rthl3ss
Nie ma potrzeby ponownego uruchamiania, wystarczy wylogować się / zalogować.
Jacob
@ w3rthl3ss, jak wygląda twój limit.conf, mam te same problemy i cele referencyjne
Rizwan Patel