简单修改Linux系统文件描述符限制(Too many open files)

在Linux下实现高并发服务器,默认的文件描述符限制会导致socket的EMFILE(24)错误,该错误描述为"Too many open files"。

查看当前所有限制:
# ulimit -a
[cpp]  view plain copy
  1. <span style="font-size:18px;">core file size          (blocks, -c) 0  
  2. data seg size           (kbytes, -d) unlimited  
  3. scheduling priority             (-e) 0  
  4. file size               (blocks, -f) unlimited  
  5. pending signals                 (-i) 15029  
  6. max locked memory       (kbytes, -l) 64  
  7. max memory size         (kbytes, -m) unlimited  
  8. open files                      (-n) 1024  
  9. pipe size            (512 bytes, -p) 8  
  10. POSIX message queues     (bytes, -q) 819200  
  11. real-time priority              (-r) 0  
  12. stack size              (kbytes, -s) 10240  
  13. cpu time               (seconds, -t) unlimited  
  14. max user processes              (-u) 1024  
  15. virtual memory          (kbytes, -v) unlimited  
  16. file locks                      (-x) unlimited</span>  

单独查看文件描述符:
# ulimit -n
1024

当前终端环境的fd限制修改,仅限于本终端:
# ulimit -n 65535
# ulimit -n  //查看设置后的值

查看系统最大文件描述符:
# cat /proc/sys/fs/file-max
190948

查看系统当前使用的描述符:
# cat /proc/sys/fs/file-nr
5440    0       190948

永久生效的设置方法:
在/etc/profile文件后,添加"ulimit -n 65535" (填入你想要的值,该值要小于系统最大限制file-max)
懒人命令:
# echo 'ulimit -n 65535'  >> /etc/profile; source /etc/profile
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值