前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux Linux下最大文件描述符设置

Linux Linux下最大文件描述符设置

作者头像
授客
发布2019-09-11 15:09:50
5.8K0
发布2019-09-11 15:09:50
举报
文章被收录于专栏:授客的专栏授客的专栏

1. 系统可打开最大文件描述符设置

查看系统可打开最大文件描述符

# cat /proc/sys/fs/file-max

65535

说明:

所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max

查看当前系统使用的打开文件描述符数

# cat /proc/sys/fs/file-nr

1280 0 0 113986

说明:第一个数表示当前系统已分配的文件描述符数(文件句柄数),第二个数为分配后已释放的文件描述符数(当前不再使用的文件描述符数),第三个数为最大文件描述符数,等于file-max。

配置可打开最大文件描述符

a) 永久配置

# vim /etc/sysctl.conf

在文件尾添加如下内容(假设目标大小为65535):

fs.file-max=65535

确保配置立即生效,执行以下命令

# sysctl -p

b) 临时配置

# echo 65530 > /proc/sys/fs/file-max

# sysctl fs.file-max #查看

fs.file-max = 65530

或者

# sysctl -w fs.file-max=65531

注:临时配置,重启后就失效了

2. 进程可打开最大文件描述设置

查看进程可打开最大文件描述符: soft nofile

# ulimit -n

65535

配置进程可打开最大文件描述符

a)永久配置

添加带背景色内容

# vim /etc/security/limits.conf

……(略)

#@student - maxlogins 4

* - nofile 65535

# End of file

或者如下

# vim /etc/security/limits.conf

……(略)

#@student - maxlogins 4

* soft nofile 65535

* hard nofile 65535

# End of file

说明:

1、- nofile 65535 表示同时配置soft limit和hard limit

2、只能在hard limit范围内修改soft limit。如上,表示进程可打开最大文件描述符数的soft limit为65535,hard limit为65535

3、需要注销重新登录配置才会生效

4、/proc/sys/fs/nr_open是单个进程可分配的最大文件数,所以在我们使用ulimit或limits.conf来配置hard limit时,如果设置的值超过/proc/sys/fs/nr_open默认值1048576需要先增大nr_open值(# vim /etc/sysctl.conf,文件末尾添加nr_open,形如fs.nr_open=100000000000)

5、对于非root用户只能设置比原来小的hard limit。

4. 总结:

b. 单个进程打开的文件描述符数不能超过user limit中nofile的soft limit

c. nofile的soft limit不能超过其hard limit

d. nofile的hard limit不能超过/proc/sys/fs/nr_open

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-12-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档