linux系统突破局部文件句柄数和全局文件句柄数限制

问题说明:

  •     在linux系统中,如果开的线程数过多,或者打开的文件太多,会报这样的错误:java.io.IOException: Too many open files。意思是系统能够打开的句柄数已经达到了限制,无法打开新的文件句柄了。

突破局部文件句柄数(单个进程能够创建的文件句柄数):

  •     查看当前局部文件句柄数:ulimit -n
  •     临时修改当前局部文件句柄数:ulimit –n 10000,这是临时设置,系统重启后设置会丢失
  •     永久修改当前局部文件句柄数:修改文件/etc/security/limits.conf,文件末尾加上:
    •     * hard nofile 1000000
    •     * soft nofile 1000000
  •     修改文件后需要重启机器,才能生效

临时突破全局文件句柄数(所有进程所能够创建的文件句柄数)

  •   查看全局文件句柄数:cat /proc/sys/fs/file-max
  •   配置:echo 1000000 > /proc/sys/fs/file-max
  •   配置后立即生效

永久突破全局文件句柄数

  • 配置文件/etc/sysctl.conf,在文件末尾加上:fs.file-max=1000000
  • 使配置文件生效:sysctl -p

特别注意:

  • 局部文件句柄数一定不要超过全局文件句柄数!!!我就遇到过,因为一时疏忽,把局部文件句柄数设置超过了全局文件句柄数,导致无法开机后无法登陆的现象!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值