You may receive a message on Linux system like "Too many open files". This mean server has reached the limit of max open files.
In Linux, there are two types of limits
(A) Hard limit: maximum limit allowed to a user which could be set by the superuser/root.
(B) Soft limit: Current limit allowed to a user which can be increased by the user up to the hard limit.
Check for Current Limits :
You can check the currently allowed limit to a user with the ulimit command. Following are the command to check the Hard and Soft limit.
ulimit -Sn # Check soft limit
ulimit -Hn # Check hard limit
Increase limit for Current Session :
If you want to increase the limit of any session, you can use the below command.
ulimit -n 250000
Increase per-user Limit :
- We can provide a per-user limit for an open file. Edit the limits.conf using the below command.
sudo nano /etc/security/limits.conf
- modify the value for your user as per your requirement and save the files.
- Once you are done with limit modification, enable the pam_limits using the below command.
sudo nano /etc/pam.d/common-session
- Add the following line:
session required pam_limits.so
Increase system-wide Limit :
Increasing the system-wide limit will allow you to open files system-wide. Please note that a specific user limit can’t be higher than the system-wide limit.
- We can also increase system-wide Limit. To do this, edit sysctl configuration file.
# nano /etc/sysctl.conf
- Now, add the below line
# fs.file-max = 3000000
- Run below command to save the changes.
# sysctl -p