扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
问题
在Linux系统的dmesg中报告VFS:
VFS: file-max limit 8192 reached
VFS: file-max limit 8192 reached
VFS: file-max limit 8192 reached
VFS: file-max limit 8192 reached
解决方案
这是由于Linux的内核参数设置不当造成的
linux的文件系统部分由Kernel的VFS负责
在内核设置中,一般有一个最大打开文件数的上限
即file-max
这个参数的当前值可以用如下命令查询:
[root@prima ~]# sysctl -a | grep file-max
fs.file-max = 8192
[root@prima ~]#
不同版本的linux,这个参数设置的范围不一样
老版本的Redhat 7.2 Linux,默认为8192,比较小
在运行邮件系统、Oracle、VPS等大型应用时候
会让内核达到自身资源上限
解决方法:
登录到linux上,执行如下命令:
sysctl -w fs.file-max=16384
即可将这个内核参数设置到16384
这个命令不需要重启系统即可生效
但是下次重启系统,内核参数fs.file-max又会变成系统默认的8192
这需要修改配置文件/etc/sysctl.conf
加入如下一行:
fs.file-max=16384
保存退出
这样即便重启了服务器,参数也是指定的16384了
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者