Linux最大打开文件数

编辑
文档创建者:susan (58209 )     浏览次数:1451次     编辑次数:6次     最近更新:doreen0813 于 2018-02-02     

目录:

1、描述编辑

在使用linux服务器布署BI时,有时会出现报错too many open files;此问题是因为linux系统本身默认系统应用最大打开的文件数默认为1024BI执行时会读取FineIndex,有些情况BI打开的文件数会超过这个限制,因此需要手动改掉linux系统的最大打开文件数。该修改在不同情况下会涉及到3个关键值。 

2、三个关键值编辑

(1)limitnofile

nofile值是单进程的最大打开文件数,也是我们的修改目标

(2)nr_open的值

该值是单个进程可分配的最大文件数,通常默认值为1024*1024=1048576;

(3)file-max的值

该值是系统内核一共可以打开的最大值;其默认值是185745

从这面的解释可以看出,一般情况下,nofile的值不允许超过nr_open和file-max的值。因此在修改nofile时要考虑是否超过以上两个值的情况,当超过以上两个的值的时候,应首先修改以上两个值,才能再修改nofile的值。

3、修改方法编辑

(1)limit中nofile值

修改方法采用直接编辑文件的方式进行。在文件/etc/security/limits.conf中最后添加如下代码:

* soft nofile 50000 * hard nofile 50000

退出保存,并执行source命令使文件生效即可。

(2)nr_open和file-max的值

当要修改的最大文件数超过1048576时,就需要改动该值,将该值提高。其修改方式如下:

在文件/etc/sysctl.conf中加入如下代码:

fs.nr_open=1200000 fs.file-max=200000

注:Linux的内核参数nr_open只有在内核版本是2.6.25之后的版本才参设置的。查看内核版本使用命令“uname -a”。

附件列表


主题: 专题总结
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?