Health Check: Confluence Open Files Limit
Purpose
The Open Files Limit Health Check queries the maximum and current open file descriptors on the operating system, for the Confluence running process. After doing so it calculates a % of the total, and based on what that % is, it either sends a warning or a major alert.
File descriptors are used by *nix operating systems to handle access to files. There are limits put in place by the operating system, and if processes try to exceed those limits they will be refused access to additional descriptors. This will impact Confluence's operation.
Impact
If the currently running Confluence process attempts to exceed the maximum allowable file descriptors, it will critically fail and major operations will be unable to continue. The only fix for this is to restart the Confluence instance.
Understanding the Results
There are '<num open files>' open files out of the maximum '<max open files>'. This is within an acceptable limit.
The Confluence process is using less than 70% of the maximum open file descriptors.
There are '<num open files>' open files out of the maximum '<max open files>'. This is getting close to the limit and will cause critical failures if it exceeds the limit.
The Confluence process is using 70% or higher of the maximum open file descriptors.
There are '<num open files>' open files out of the maximum, '<max open files>'. This is critically close to the limit, and should be fixed immediately.
The Confluence instance is using 90% or higher of the maximum open file descriptors.
Solution
To resolve this, you will need to increase the maximum open file limit:
- Shutdown Confluence
Run the following command in your terminal to check the file handler count limit in your system:
ulimit -aS | grep open
To set the limit of the file handler, add the following line into the <confluence-install>/bin/setenv.sh file. You can modify the number based on your application's needs
ulimit -n 4096
This will set that value each time Confluence is started, however, will need to be manually migrated when upgrading Confluence. Please see below for a permanent resolution.
After that, you will need to restart the Confluence for the modification to take effect
To permanently apply the resolution, this needs to be configured on a per OS basis, and can be done by consulting the operating system documentation on how to do so - if using Ubuntu we have instructions in Too many open files error in Jira server (this is a JIRA KB however the change is the same).