How do I increase the open files limit for a non-root user?

Posted by iCode on Ask Ubuntu See other posts from Ask Ubuntu or by iCode
Published on 2012-07-11T02:06:26Z Indexed on 2012/07/11 3:23 UTC
Read the original article Hit count: 279

Filed under:

This is happening on Ubuntu Release 12.04 (precise) 64-bit Kernel Linux 3.2.0-25-virtual

I'm trying to increase the number of open files allowed for a user. This is for an my ecplise java application where the current limit of 1024 is not enough.

According to the posts I've found so far, I should be able to put lines into

/etc/security/limits.conf like this;

soft nofile 4096
hard nofile 4096

to increase the number of open files allowed for all users.

But, that's not working for me, and I think the problem is not related to that file.

For all users, the default limit is 1024, regardless of what is in /etc/security/limits.conf (I have been rebooting after changing that file)

$ ulimit -n
1024

Now, despite the entries in /etc/security/limits.conf I can't increase that;

$ ulimit -n 2048

-bash: ulimit: open files: cannot modify limit: Operation not permitted The weird part is that I can change the limit downwards, but can't change it upwards - even to go back to a number which is below the original limit;

$ ulimit -n 800
$ ulimit -n
800

$ ulimit -n 900

-bash: ulimit: open files: cannot modify limit: Operation not permitted

As root, I can change that limit to whatever I want, up or down. It doesn't even seem to care about the supposedly system-wide limit in /proc/sys/fs/file-max

# cat /proc/sys/fs/file-max
188897

# ulimit -n 188898
# ulimit -n 
188898

So far, I haven't found any way to increase the open files limit for a non-root user, and I really don't want to be running my application as root.

How should I properly do this? I have looked at all the posted and tried the given options but no luck!

© Ask Ubuntu or respective owner

Related posts about files