Overview
When load testing an application and seeing “Resource temporarily unavailable” issues, increase the “nofile” and system-wide limitations for the number of open files.
The kernel allows a certain amount of continuously open file descriptors. This number will automatically vary depending on the amount of RAM in the system by default.
Solution
In the file /etc/sysctl.conf, edit/add the following kernel parameter.
# vi /etc/sysctl.conf
fs.file-max = XXXXX
For applying the above changes execute.
# sysctl -p
The current value of the max-open-files limit can be found by.
# cat /proc/sys/fs/file-max
or
# sysctl -a | grep fs.file-max
Ulimit gives the user control over the resources available to the shell and the processes it starts. Per-process file descriptor limits apply to each user. 1024 is the default value. This can only be changed by root.
# ulimit -n
1024
# su - root
# ulimit -n 16384
# ulimit -n
16384
To make the change permanent, edit the following file.
- For Single User:
# vi /etc/security/limits.conf
<username> soft nofile 4096
<username> hard nofile 10240
Then save changes with :wq
Verify the changes as follows.
- For all users use wild card ‘*’ instead of username
# vi /etc/security/limits.conf
* soft nofile 4096
* hard nofile 10240
Then save changes with :wq




Leave a Reply
You must be logged in to post a comment.