专栏首页授客的专栏Linux Linux下最大文件描述符设置

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • RobotFramework 官方demo Quick Start Guide rst配置文件分析

    User can create an account and log in

    授客
  • loadrunner 脚本开发-文件下载

    对 HTTP协议来说,无论是下载文件或者请求页面,对客户端来说,都只是发出一个GET请求,并不会记录点击后的“保存”、“另存为操作”。

    授客
  • Linux 学习笔记之超详细基础linux命令 Part 9

    ---------------------------------接Part 8------------------------------

    授客
  • 【聚焦】企业数据收集网页采集解决方案 附PDF下载

    原文:http://www.ppvke.com/Answer/file/download/file_name-5LyB5Lia5pWw5o2u5pS26ZuG6...

    小莹莹
  • 如何在 Linux 下删除用户组(groupdel 命令)

    在 Linux 下,用户组用来组织和管理用户账户。用户组的目的主要是为了定义一系列权限,例如:针对一个资源的读,写,执行,并且将这些权限在用户组的用户之间共享。

    雪梦科技
  • 从普通程序员到身价过百亿:追求长期价值的耐心,决定了你能走多远

    一提到程序员,很多人脑海里马上会出现这些标签:格子衬衫、牛仔裤、代码、bug、木讷、不善言辞等等。但有一个词似乎更能概括:改变世界。

    一墨编程学习
  • flash werkzeug计算和验证密码(flask 68)

    from werkzeug.security import generate_password_hash, check_password_hash

    用户5760343
  • Python 初学者必备的常用内置函数

    Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间。目前,Python 3.7 共有 69 个内置函数,一些是我们...

    用户2870857
  • SharePoint—用REST方式访问列表

    REST的定义与作用                                                                      ...

    古时的风筝
  • Python_实用入门篇_01

      ①我们可以在命令提示符(cmd)中输入"Python"命令来启动Python解释器,通过以下命令执行该脚本:python3 文件名.py

    py3study

扫码关注云+社区

领取腾讯云代金券