2016-03-09 41 views
0

當我運行ulimit -n我得到100000作爲值。增加過程打開的文件限制

我在/etc/security/limits.conf

*  soft nofile   100000 
*  hard nofile   100000 

編輯添加以下行我也編輯了pan_limits

但我目前正在運行的是不斷拋出的錯誤

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 
Go程序

問題是,當我通過運行cat /proc/1480/limits實際檢查以查看實際過程中設置的限制時,我看到了s

Max open files   1024     4096     files 

我正在通過主管運行golang程序是否有一個原因,它不會讀取系統限制?

+0

更新了帖子 – nadermx

+0

可能[minfds](http://stackoverflow.com/questions/27933477/supervisor-open-file-limit-wont-change-when-using-chef)設置? – Mark

+0

@參考主管設置的標記?沒有想到的想法,將嘗試 – nadermx

回答

1

在嘗試在多個問題中解決此問題後,將其歸結爲supervisor在程序中設置了其自己的文件限制的事實。如評論所示,您必須在主管中使用minfds設置。

要檢查,看它是否正在工作,你可以運行cat /proc/$PID/limits

哪些應該輸出設置minfds過,在我的案件的編號達到100000

Max open files   100000    100000    files  

我想指出的是,當你去投入主管minfds你把它放在/etc/supervisor/supervisord.conf裏,就好像你把你的程序配置文件一樣,它什麼都不會做。

+0

謝謝!有用 – GoT