首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Icecast -打开的文件太多了

Icecast -打开的文件太多了
EN

Stack Overflow用户
提问于 2017-06-21 22:20:45
回答 1查看 1.9K关注 0票数 0

我在CentOS 7上运行一个Icecast 2.4.3服务器。当我有很多侦听器时,我会收到这些错误,并且所有的东西都停止工作了:

代码语言:javascript
复制
[2017-06-21  18:56:37] WARN connection/_accept_connection accept() failed with error 24: Too many open files

它运行在"ices“用户上:

代码语言:javascript
复制
sudo -u ices /opt/icecast/bin/icecast -c /opt/icecast/etc/icecast.xml -b

或以root用户的身份运行,选择"changeowner“选项为"ices”用户。

我设置了limits.conf:

代码语言:javascript
复制
ices         hard    nofile      65536
ices         soft    nofile      65536

来自ulimit:

代码语言:javascript
复制
[root@orfeu inweb]# su ices
[ices@orfeu inweb]$ ulimit -n
65536

但是当我检查PID的时候,我得到:

代码语言:javascript
复制
tcp        0      0 <IP>:8000       0.0.0.0:*               LISTEN      21650/icecast

[root@orfeu inweb]# cat /proc/21650/limits
Limit                     Soft Limit           Hard Limit           Units
...
Max open files            1024                 4096                 files
...

如何解决这个问题,以强制执行65536个文件描述符?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-21 23:00:17

也许我找到了解决办法。需要检查问题何时再次发生。

我意识到limits.conf为每个用户设置了限制。我找到了一种方法来设定每个过程的限制。

代码语言:javascript
复制
/usr/bin/prlimit -n30000 -p `cat /var/run/icecast.pid`

现在我有:

代码语言:javascript
复制
Max open files            30000                30000                files

我不知道是否有一种方法总是启动具有这些限制的"icecast“二进制,或者在运行后总是需要对PID运行命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44687163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档