I am trying to raise the open file descriptor maximum for all users on an ubuntu machine.
I've added the following lines to /etc/security/limits.conf
:
* soft nofile 100000
* hard nofile 100000
And, based on this question I've checked the /etc/pam.conf
settings for 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
And my file-max seems to be fine:
$ cat /proc/sys/fs/file-max
762659
Yet I still have the default 1024 when I check ulimit -a
:
$ ulimit -a | grep files
open files (-n) 1024
What else can I check?
I figured out that the system doesn't seem to like the wildcard for the user in
limits.conf
. Changing that to:root soft nofile 100000
androot hard nofile 100000
worked fine.Adding another answer as, although bantic solved his problem, we had exactly same setup and symptoms. Ulimit soft and hard for nofile set to 100000 in limits.conf. No over-rides or other ulimit settings for users under /etc or in user's home and yet ulimit was low. Hard ulimit was 4096, soft ulimit was 1024.
Centos 7.
Actually adding an /etc/security/limits.d/20-nofile.conf with soft nofile 100000 and hard nofile 100000 seemed to solve it if you su as the user but not if you ssh in as the user.
Eventually we found UsePAM: no in /etc/ssh/sshd_config Changing to UsePAM: yes and restarting sshd service solved it for us.