猿问

增加进程的打开文件限制

当我跑步时,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 程序,它是否有理由不读取系统限制?


犯罪嫌疑人X
浏览 124回答 1
1回答

冉冉说

在尝试通过多个问题解决此问题后,归结为主管对程序设置了自己的文件限制这一事实。正如评论中所见,您必须minfds在主管中使用设置。要检查它是否正常工作,您可以运行 cat /proc/$PID/limits哪个也应该输出您设置的数字minfds,在我的情况下是 100,000Max open files            100000               100000               files我想指出的是,当您进入主管时,minfds您将其放入/etc/supervisor/supervisord.conf就像放入程序配置文件一样,它什么也不做。
随时随地看视频慕课网APP

相关分类

Go
我要回答