linux Too many open files解决方法


1.查看哪些进程打开过多文件(第一列为个数,第二列为进程ID)
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more


2.open files调优(root用户):

a. 按照最大打开文件数量的需求设置系统, 并且通过检查/proc/sys/fs/file-max文件来确认最大打开文件数已经被正确设置。
# cat /proc/sys/fs/file-max
若过小,编辑文件/etc/sysctl.conf增加一行:
fs.file-max = 65536

b.在/etc/security/limits.conf增加一行:

* - nofile 65536


使生效:sysctl -p
查看:ulimit -a

用户下生效: su - xxxx
查看:       ulimit -a

 

cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max

查出目前 ip_conntrack 记录最多的前五名 IP
指令: cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 5

你可能感兴趣的:(linux Too many open files解决方法)