too many files open in system
- 修改 Linux 系统限制
ulimit -n 65535
echo "* soft nofile 65535" >> /etc/security/limits.conf
- 查看哪个用户或进程占用的文件多,关闭不必要的文件
#查看进程打开文件数最多的前5个进程
lsof | awk '{print $2}' | sort | uniq -c | sort -rn | head -n 5
[root@wnm ~]# lsof | awk '{print $2}' | sort | uniq -c | sort -rn | head -n 5
103204 7496
139 29471
116 22525
58 13509
49 4612
按进程pid的查看
lsof -p pid | wc -l
[root@wnm ~]# lsof -p 7496 |wc -l
103204
按用户查看
lsof -u user | wc -l
[root@wnm ~]# lsof -u mysql|wc -l
103321
还能按端口查看
lsof -i:port
- 发现。。™的果然是mysql 占用的,里面一堆分区表
flush tables ;
把表全关了,问题解决
[root@wnm ~]# lsof | awk '{print $2}' | sort | uniq -c | sort -rn | head -n 5
139 29471
115 7496
115 22525
58 13509
49 4612
标签:files,sort,wc,查看,many,wnm,lsof,root,open
From: https://www.cnblogs.com/Miac/p/18067722