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

目录

 

系统级别

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

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

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

永久配置

临时配置

进程级别

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

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

永久配置

查看实际进程的 limit 限制

总结


系统级别

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

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

65535

说明:

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

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

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

1280 0 0 113986

说明:

第一个数表示当前系统已分配的文件描述符数(文件句柄数)

第二个数为分配后已释放的文件描述符数(当前不再使用的文件描述符数)

第三个数为最大文件描述符数,等于file-max。

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

永久配置

# vim /etc/sysctl.conf

在文件尾添加如下内容(假设目标大小为65535):fs.file-max=65535;确保配置立即生效,执行以下命令

# sysctl -p

临时配置

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

# sysctl fs.file-max #查看

fs.file-max = 65530

或者

# sysctl -w fs.file-max=65531

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

进程级别

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

# ulimit -n

65535

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

永久配置

添加带背景色内容

# vim /etc/security/limits.conf

……(略)

* - nofile 65535

# End of file

或者如下

# vim /etc/security/limits.conf

……(略)

* 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。

查看实际进程的 limit 限制

进入到 /proc/PID 目录下,查看某个进程的资源限制,如下所示:

# cat limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            10485760             10485760             bytes
Max core file size        unlimited            unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             655350               655350               processes
Max open files            1024000              1024000              files
Max locked memory         unlimited            unlimited            bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       1290490              1290490              signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

总结

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

b. nofile的soft limit不能超过其hard limit;

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

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值