用ulimit -n命令查询:
>ulimit -n 65535
2、每个进程均会有对应的Max open files设置,用到的命令:
cat /proc/{pid}/limits |grep 'Max open files'
检查结果:
>cat /proc/4837/limits |grep 'Max open files'
Max open files 4096 4096 files
3、进程使用了多少文件句柄
用到的命令:
>lsof -p pid | wc -l
1
检查结果:
>lsof -p 4837 | wc -l
至此,发现了问题:ulimit查询到最大open files数量是65535, /proc/4837/limits查询到Max open files数量是4096,lsof查询到的打开文件数量4169。显然进程4837打开文件数量超过了/proc/4837/limits中的限制。
csdn.net/sayyy/article/details/100156385
报错概要:打开的文件过多 Too many open files环境说明:
报错详情:
错误原因:
linux对用户有默认的ulimit限制,/etc/sysconfig/limits.conf 文件可以配置用户的硬配置和软配置,硬配置是个上限。当超出上限的修改就会出这样的错误。
/etc/security/limits.conf,如果没有指定的话,默认是4096。
解决方案:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)