系统运维系列 之服务器出现“打开的文件过多”等类似错误的解决方法

曾几何时怀着兴奋的心情查看文件入库情况,结果当头一棒哇咔咔,出现一堆莫名奇妙的错误,如:
在这里插入图片描述然后一顿搜索,原因是在运行linux系统时,打开的文件太多就会提示too many open files,出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值。解决方法如下:
参考链接为:https://www.jb51.net/LINUXjishu/228022.html
方法一:
[root]# cat /proc/sys/fs/file-max
8192
文件系统最大可打开文件数
[root]# ulimit -n
1024
程序限制只能打开1024个文件
使用[root]# ulimit -n 8192调整一下
或者永久调整打开文件数 可在启动文件/etc/rc.d/rc.local末尾添加(在/etc/sysctl.conf末尾添加fs.file-max=xxx无效)
ulimit -n 8192
方法二:
Linux内核有时会报告“Too many open files”,起因是file-max默认值(8096)太小。要解决这个问题,可以root身份执行下列命令(或将它们加入/etc/rcS.d/*下的init脚本。)
# echo “65536” > /proc/sys/fs/file-max # 适用于2.2和2.4版内核
# echo “131072” > /proc/sys/fs/inode-max # 仅适用于2.2版内核

猜你喜欢

转载自blog.csdn.net/langxiaolin/article/details/113520082