Go 增加进程的打开文件限制

Go 增加进程的打开文件限制,go,ubuntu-14.04,supervisord,Go,Ubuntu 14.04,Supervisord,当我运行ulimit-n时,我得到100000作为值 我在/etc/security/limits.conf * soft nofile 100000 * hard nofile 100000 我还编辑了pan\u限制 但我目前正在运行一个go程序,不断抛出错误 2016/03/09 21:42:27 http: Accept error: accept tcp [::]:3000: accept4: too many open

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

我在
/etc/security/limits.conf

*     soft    nofile          100000
*     hard    nofile          100000
我还编辑了
pan\u限制

但我目前正在运行一个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   

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

在尝试通过多个问题解决此问题后,归结为supervisor为程序设置了自己的文件限制。如注释所示,您必须在supervisor中使用
minfds
设置

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

在我的例子中,它也应该输出您设置的数字
minfds

Max open files            100000               100000               files     

我想指出的是,当您将
minfds
放入supervisor时,您将其放入
/etc/supervisor/supervisor.conf
中,就好像您将其放入程序配置文件中一样,它不会起任何作用。

可能设置?@标记指的是supervisor设置?没有想到,will tryI继续更新了supervisor conf以将其放入,但当我检查文件时,流程仍然没有显示更新amount@Mark如果你想发布一个解决方案,这样我就可以信任你了Hanks@nadermx,很高兴你的问题得到了解决,如果你愿意,继续回答吧。听起来不止是设置的改变。在哪里设置minfds号码