The symptoms
On Linux, you might encounter this error a while after having used your Nuxeo instance (esp. with many concurrent HTTP requests on the tomcat distribution):
To avoid this you have to increase the number of open files in the configuration file of your Linux System. There are two a such limits. One is global (for all users) and one is a per-user limit (1024 by default).
Raising the global limit
Edit /etc/sysctl.conf and add the following line:
Apply the changes with:
Raising the per-user limit
On some systems it is possible to use the ulimit -Hn 8192 and ulimit -Sn 4096 commands. However most of the time this is forbidden and you will get an error such as:
In those cases, you must edit as root the following system configuration file:
Modify the values for nuxeo user (we assume here JBOSS is launched with the sytem user "nuxeo")
If you want to raise the limits for all users you can do instead:
To check whether changes are taken into account, open a new session with the user that starts the nuxeo process. And check that the change has been taken into account:
Here we can see that the new value is has not been taken into account. To fix this edit /etc/pam.d/su:
and uncomment the line:
The change should now be taken into account the next time you login with your user: