在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了
阅读(1863) | 评论(0) | 转发(0) |