Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11233963
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-18 14:57:56


  在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了
阅读(1807) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~