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?

  • is this possibly a virtual host? – Dennis Nolte Jul 4 '14 at 9:49
  • no, it it's a mongodb server – Icu Jul 4 '14 at 11:24
up vote 9 down vote accepted

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

  • 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 4 '14 at 9: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 4 '14 at 9:46
  • @Icu try the answers from this one aswell: serverfault.com/questions/93234/… might be related to your shell – Dennis Nolte Jul 4 '14 at 9: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 4 '14 at 11:11

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.

  • 1
    no need for me to make any change to the /etc/pam.d/common-session file. it worked just by adding the other two lines to the limits.conf file :-) – Francesco Casula Jul 31 '15 at 15:59
  • You shouldn't need to reboot. – David Goodwin Mar 17 '16 at 9:53
  • This is brutal. On debian 7 now, and this isn't working. Not sure what to do :( -- I might open a new question – NiCk Newman Jun 13 '16 at 14:44
  • 10
    Boom. * wildcard doesn't work for root. I added root instead of *, and it's working. Thank you! – NiCk Newman Jun 13 '16 at 15:25
  • @FrancescoCasula - which version of Debian was that? Just trying to figure out if this really is a bug, and if it still exists... – UpTheCreek Jan 10 at 14:57

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.