$ ulimit -a
Change Open file limit, ulimit on Debian/Ubuntu/Linux systems
------Now to change it first of all pam limits by default is not loaded in ubuntu
$ vi /etc/pam.d/su
Un-comment the following line
#session required pam_limits.so
to
session required pam_limits.so
Now
$ vi /etc/security/limits.conf
and add the following lines to the end of the file (before the line # End of file)
* soft nofile 16000
* hard nofile 64000
Save the file and quit vi.
Now To bring this in affect, you must restart the machine.
Below two lines will change the limit only for mysql user
mysql soft nofile 10240
mysql hard nofile 10240
Usually we need to change the "open file" limit from 1024(which is default) to higher value. But before that you should check which user is opening how many files.
$ lsof | awk '{if(NR>1) print $3}' | sort | uniq -c | sort -nr
1256 root
655 nishal
16 www-data
4 syslog
4 ntp
4 memcache
4 daemon
The above result clearly says that root user has opened 1256 files, in such cases default limit of 1024 will start creating IO wait issue, connection timeout issue. To fix them, above article is beautiful.
------------
How to change Open file limit, ulimit on CentOS/Fedora/Red Hat
Command to check
ulimit -n
ulimit -a
1. vi sysctl.conf and add this line fs.file-max = 65536
2. vi /etc/security/limits.conf
* soft nproc 16384
* hard nproc 65535
* soft nofile 16384
* hard nofile 65535
3. Restart the server
4. ulmiit -n
16384