查看linux下进程打开的文件句柄数并清理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查看linux下进程打开的文件句柄数并清理相关的知识,希望对你有一定的参考价值。

---查看系统默认的最大文件句柄数,系统默认是1024
# ulimit -n
1024

----查看当前进程打开了多少句柄数
# lsof -n|awk ‘{print $2}‘|sort|uniq -c|sort -nr|more
131 24204 
57 24244  
57 24231   ........

其中第一列是打开的句柄数,第二列是进程ID。
可以根据ID号来查看进程名。
# ps aef|grep 24204
nginx  24204 24162 99 16:15 ?    00:24:25 /usr/local/nginx/sbin/nginx -s

Linux有硬性限制和软性限制。可以通过ulimit来设定这两个参数。方法如下,以root用户运行以下命令:
# ulimit -HSn 4096

以上命令中,H指定了硬性大小,S指定了软性大小,n表示设定单个进程最大的打开文件句柄数量。个人觉得最好不要超过4096,毕竟打开的文件句柄数越多响应时间肯定会越慢。设定句柄数量后,系统重启后,又会恢复默认值。如果想永久保存下来,可以修改.bash_profile文件,可以修改 /etc/profile 把上面命令加到最后.

1.使用df -i 查看inode已经使用100%
2.使用ls -lt ar/spool/postfix/maildrop/ | wc -l 查看该目录下文件有330W
3.mkdir -pv /tmp/test
4.rsync --delete-before -a -H -v --progress --stats /tmp/test/ ar/spool/postfix/maildrop 使用该命令进行清理

以上是关于查看linux下进程打开的文件句柄数并清理的主要内容,如果未能解决你的问题,请参考以下文章

Linux下查看进程打开的文件句柄数

如何修改linux单进程能够打开的最大文件句柄数

Linux文件句柄占用数量查看与设置

linux句柄泄露问题查看

linux下查看系统进程占用的句柄数

linux文件句柄数查看