Ubuntu下解决too many open files的错误

① 绪言
  • 在完善性能测试时,自己最开始都是使用idea直接run或debug的。
  • 后来使用终端,通过go test命令进行测试时,就报too many open files的错误。
    在这里插入图片描述
  • 自己一百度,发现说是因为open file的句柄设置的不够。
② 直观想法,不够的话,设置大一点
  • 自己通过如下命令一查看发现原来才1024啊。
$ ulimit -a

在这里插入图片描述

$ ulimit -n 2048

在这里插入图片描述

  • 再跑测试,还是不够用,那我再设置大一点4096。竟然报错了
    在这里插入图片描述
③ 直接设置不行,那就修改limit的配置文件
  1. 能设置的数值有限
  2. 系统重启以后会恢复默认值。
  • 该博客中,也提供了另一种方法,就是修改limit的配置文件/etc/security/limits.conf
  • 在配置文件中添加以下内容,我设置的是65536
* soft nofile 65536
* hard nofile 65536
  • 保存以后再次查看,没有变化,查了一下有博客说需要注销用户重新登录。
  • 我将整个系统都重启了,竟然还是1024 😂 😂
  • 网上好多博客,说啥子自己的不用重启就会生效,结果一看,跟自己的一模一样。比如,博客:修改Linux的open files参数是,立即生效,无需重启
④ 原来在Ubuntu下,root需要单独设置
root  hard nofile 65535
root  soft nofile 65535
  • 保存以后,打开一个新的终端,切换到root用户,一查生效了。
    在这里插入图片描述
  • 然后又好葫芦画瓢,为普通用户添加了设置。整个内容如下:
root  hard nofile 65535
root  soft nofile 65535
zebra  hard nofile 65535
zebra  soft nofile 65535
  • 保存以后,打开一个新的终端,处于zebra用户,一查也生效了。
    在这里插入图片描述
  • 没有反应: 如果在新的终端没有反应,可以学一下我的方法,我照葫芦画瓢,切换到zebra用户,就可以查到结果了。
  • 但是,这样其实没有用,运行还是出错。。。
⑤ 自己也搞不懂啊,到底咋个才能生效
  • 为了解决这个问题,自己还按照博客,Ubuntu /etc/security/limits.conf 不生效问题,检查了相关配置,然后还重启了电脑。
  • 咋个都不行,清华大佬说,就是很多坑,而且大家都说不清楚
  • 那就让我沉浸在su切换用户的方法中吧。。。。如果谁有好的方法,可以更我分享;我如果某天解决了,会回来更新的。。。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值