Próbuję podnieść maksymalną wartość deskryptora otwartego pliku dla wszystkich użytkowników na komputerze z systemem Ubuntu.
Dodałem następujące linie do /etc/security/limits.conf
:
* soft nofile 100000
* hard nofile 100000
Na podstawie tego pytania sprawdziłem /etc/pam.conf
ustawienia dla pam_limits
:
$ grep "pam_limits" /etc/pam.d/*
/etc/pam.d/atd:session required pam_limits.so
/etc/pam.d/common-session:session required pam_limits.so
/etc/pam.d/cron:session required pam_limits.so
/etc/pam.d/login:session required pam_limits.so
/etc/pam.d/sshd:session required pam_limits.so
/etc/pam.d/su:session required pam_limits.so
/etc/pam.d/sudo:session required pam_limits.so
A moja maksymalna liczba plików wydaje się być w porządku:
$ cat /proc/sys/fs/file-max
762659
Mimo to nadal mam domyślną 1024, gdy sprawdzam ulimit -a
:
$ ulimit -a | grep files
open files (-n) 1024
Co jeszcze mogę sprawdzić?
ulimit -n 100000
działa zgodnie z oczekiwaniami (chociaż nie pomaga mi to, ponieważ utrzymuje się tylko w bieżącej sesji logowania).Odpowiedzi:
Doszedłem do wniosku, że system nie lubi symbolu wieloznacznego dla użytkownika w
limits.conf
. Zmieniłem to na:root soft nofile 100000
iroot hard nofile 100000
działało dobrze.źródło
NOTE: group and wildcard limits are not applied to the root user. To set a limit for the root user, this field must contain the literal username root.