25

On Debian Wheezy, ulimit -a gives:

open files                      (-n) 1024

I add this to /etc/security/limits.conf

*                hard    nofile          64000

then reboot.

And ulimit -a still gives a maximum number of open files of 1024. Anyone could throw some light on it?

Icu
  • 1,405
  • 2
  • 15
  • 25

3 Answers3

24

Option one: You did not set the softlimit higher aswell.

Possible solution:

in /etc/security/limits.conf add

* soft nofile 2048

test with

ulimit -n 2048 

Option two: You are logged in as user and in some "config" file (profile, bashrc, something like this) the soft limit is set to a lower value.

Possible solution f.e. grep for ulimit in your etc folder and/or home folder.

Warning: Depending on the amount of files/directorys you have in there you might want to consider only specific directorys/files

ps: there are a lot of similiar question here you might want to read up.

Specially Hard vs Soft Limit

Read here for possible other solution which go more into detail Too Many Open Files

Dennis Nolte
  • 2,848
  • 4
  • 26
  • 36
  • 2
    Actually, I was trying to set only the hard limit to 64000. So the soft limit was still on 1024. Now I tried to set a soft limit to 64000 + hard = 72000. But it didn't work. I tried also "* - nofile 64000" and I get the same result. – Icu Jul 04 '14 at 09:39
  • After having read "Too Many Open Files", I thought a kernel setting would be overriding the limits.conf settings but: "fs.file-max = 4933738" – Icu Jul 04 '14 at 09:46
  • @Icu try the answers from this one aswell: http://serverfault.com/questions/93234/setting-ulimit-and-ubuntu-8-04?rq=1 might be related to your shell – Dennis Nolte Jul 04 '14 at 09:54
  • I added 'session required pam_limits.so' to /etc/pam.d/other and common-session but it doesn't help ... As an alternative, I added a 'ulimit -n' to my init script and it works but I wonder why I can't get the correct values in my shell. – Icu Jul 04 '14 at 11:11
  • I think you meant: test with `ulimit -a`. – Mina Michael Feb 13 '22 at 06:33
24

There is a bug in Debian. To increase ulimit you need to add this into the /etc/pam.d/common-session file:

session required pam_limits.so

and in /etc/security/limits.conf add:

*               soft    nofile          65535
*               hard    nofile          65535

Then reboot the system.

Francesco Casula
  • 173
  • 1
  • 1
  • 7
Jakub Maj
  • 353
  • 3
  • 7
1

In my case of Apache on Debian 10 the above didn't help though this worked:

echo "APACHE_ULIMIT_MAX_FILES='ulimit -n 16384'" >> /etc/apache2/envvars
service apache2 restart

I checked with:

cat /proc/$pid/limits

..where $pid is the process ID of one of the Apache processes.