Linux最大打开文件数

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

目录:

1、描述编辑

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

2、三个关键值编辑

1)limit中nofile值:

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

2)nr_open的值:

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

3)file-max的值:

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

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

1. 当要修改的nofile值(最大打开文件数)未超过nr_open和file-max两个值时,直接修改nofile值即可;

2. 当要修改的nofile值(最大打开文件数)超过nr_open和file-max两个值时,不仅要修改nofile的值为最大打开文件数,还要修改nr_open和file-max的值满足大于nofile值。

3、修改方法编辑

1)limit中nofile值

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

* soft nofile 50000 * hard nofile 50000

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

2)nr_open和file-max的值

当要修改的最大打开文件数超过nr_open和file-max时,就需要改动该值,将该值提高。其修改方式如下:

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

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

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


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

附件列表


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

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?