Linux 系统参数调优 之 文件描述符总数file-max

20 篇文章 3 订阅
17 篇文章 1 订阅

打开文件数

  在 Linux 中,文件描述符是一种资源,为了控制对资源的合理使用,Linux 会限制所有进程所能打开的文件描述符总数。可以通过下面的命令查看:

$ cat /proc/sys/fs/file-max
99736

        通常来说,如果机器的内存越大,那么file-max的默认值也会越大。当然,也可以手动调大它:

$ sudo vi /etc/sysctl.conf
fs.file-max = 100000
$ sudo sysctl -p                      # 使改动生效

       那么要怎样才能知道系统当前打开了多少文件描述符呢?可以用下面的命令:

$ cat /proc/sys/fs/file-nr
704	0	100000

        输出结果的第一个值表示系统当前打开了 704 个文件描述符,在 Linux 2.6 之后,第二个值总是 0,第三个值等于/proc/sys/fs/file-max的值。

    然而fs.file-max这个参数是系统级别的限制,除此之外,Linux 还会限制某个用户所能打开的文件描述符数量,这个值默认是 1024,可以用下面命令查看:

$ ulimit -n
1024

        从上面的命令可以看到,当前用户最多只能打开 1024 个文件描述符。有时在运行高并发服务器的时候,经常会出现文件描述符不够用的错误,这时候就需要调高这个用户所能打开的文件描述符数量了,可以通过下面的命令修改:

$ sudo vi /etc/security/limits.conf
www-data soft nofile 10240
www-data hard nofile 20480

        上面的命令为www-data用户设置所能打开的文件描述符数量,其中软限制为 10240,而硬限制为 20480。那么软限制和硬限制的区别是什么呢?其实进程在运行的时候可以修改软限制的值,但要保证这个值不能超过硬限制。然而进程却无法修改硬限制的值,除非以 superuser 的身份运行。

 

转自:

http://senlinzhan.github.io/2017/07/01/linux-tuning/

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值