【问题标题】:Increase open files limit for process增加进程的打开文件限制
【发布时间】:2016-06-24 10:56:46
【问题描述】:

当我运行ulimit -n 时,我得到100000 作为值。

我在/etc/security/limits.conf 中编辑了添加的以下行

*     soft    nofile          100000
*     hard    nofile          100000

我还编辑了pan_limits

但我目前正在运行一个不断抛出错误的 go 程序

2016/03/09 21:42:27 http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 5ms
2016/03/09 21:42:27 getAudioOnlyInfo: open /dev/null: too many open files

问题是,当我通过运行cat /proc/1480/limits 实际检查实际进程设置的限制时,我看到了这个

Max open files            1024                 4096                 files   

我正在通过主管运行一个 golang 程序,它不会读取系统限制有什么原因吗?

【问题讨论】:

  • 可能是minfds 设置?
  • @Mark 指的是主管设置?没想到,会试试
  • 我继续更新了主管 conf 以将其放入,但是当我检查进程的文件时仍然没有显示更新的数量
  • @Mark 如果你想发布一个解决方案,那最终会起作用,所以我可以相信你
  • 感谢@nadermx,很高兴您的问题得到解决,如果您愿意,请继续回答。听起来除了设置更改之外还有更多的事情发生。

标签: go ubuntu-14.04 supervisord


【解决方案1】:

在尝试在多个问题中解决此问题后,归结为主管在程序上设置了自己的文件限制。从 cmets 中可以看出,您必须在 supervisor 中使用 minfds 设置。

要检查它是否正常工作,您可以运行 cat /proc/$PID/limits

也应该输出你设置的数字minfds,在我的例子中是 100,000

Max open files            100000               100000               files     

我想指出,当您将 minfds 放入主管时,您将其放入 /etc/supervisor/supervisord.conf 中,就像您放入程序配置文件一样,它什么也不做。

【讨论】:

  • 在哪里设置 minfds 号码
猜你喜欢
  • 2016-01-19
  • 2022-01-25
  • 2017-10-19
  • 2014-02-26
  • 2020-12-11
  • 2015-06-03
  • 1970-01-01
  • 2011-03-11
  • 2018-07-19
相关资源
最近更新 更多