How to raise the nofiles limit on *NIX
ElasticSearch needs to keep lots of files open simultaneously and you will
need to raise the maximum number of open files a user can have.
In this tutorial, we will assume that you are running ElasticSearch
as the user
To raise the limit add to
/etc/security/limits.conf the lines:
elasticsearch soft nofile 32000 elasticsearch hard nofile 32000
Now you can check if these limits have been applied running:
sudo -u elasticsearch -s "ulimit -Sn"
If you are logged in as
elasticsearch you have to log out and log
in again to see the new limits.
If you still see the previous limit, run:
egrep -r pam_limits /etc/pam.d/
and check that all pam_limits.so are not commented out.
You can check the limit that elasticsearch really has adding the flag
es.max-open-files=true, for example:
$ bin/elasticsearch -f -Des.max-open-files=true [2011-04-05 04:12:02,687][INFO ][bootstrap ] max_open_files 
sudo -u elasticsearch -s "ulimit -Sn" shows 32000 but you
still have a low limit when you run ElasticSearch, you’re probably running it
through another program that doesn’t support PAM: a frequent offender is
The only solution I know to this problem is to raise the nofile
limit for the user running
supervisord, but this will obviously raise the limit
for all the processes running under
supervisord, not an ideal situation.
Consider using the
service wrapper instead.