分析错误:socket accept failed too many open files

步骤:
一、--查看当前各个进程打开的文件句柄数,其结果的第一列表示句柄数,第二列表示进程号
lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more

二、--查看单个进程可以打开的最大文件句柄数量(socket链接也算在里面)
ulimit -n

三、对比1和2的结果,若是1接近或超过2了,须要将2的配置调大
ulimit -n <最大文件句柄数>

四、若是想知道打开的文件句柄数最多的进程是哪一个应用程序,可使用以下命令
ps -aef|grep <进程号>

五、若是句柄数调的很是大了,仍是不行,可能须要看看/proc/sys/fs/file-max中的值,该值表示系统全局的可用句柄数,可修改
vim /proc/sys/fs/file-max

六、对于正在使用(分配出去)的全部的句柄数、未使用的全部的句柄数、可以使用的最大的句柄数这3个值,能够经过如下只读文件查看
vim /proc/sys/fs/file-nr
提示:当分配出去的句柄数接近最大句柄数,而“未使用的句柄数”远大于零时,代表你遇到了一个“句柄”使用高峰,这意为着你不须要增长file-max的值。
原文以下:
When the allocated file handles come close to the maximum, but the number of unused file handles is significantly greater than 0,
you’ve encountered a peak in your usage of file handles and you don’t need to increase the maximum. vim

相关文章
相关标签/搜索