gpt4 book ai didi

linux - 如何设置全局 nofile 限制以避免 "many open files"错误?

转载 作者:IT王子 更新时间:2023-10-29 00:13:43 25 4
gpt4 key购买 nike

我有一个 websocket 服务。出现错误是 strage:"too many open files", 但我已经设置了系统配置:

/etc/security/limits.conf
* soft nofile 65000
* hard nofile 65000

/etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65000

ulimit -n
//output 6500

所以我认为我的系统配置是正确的。

我的服务由主管管理,可能有主管限制吗?

检查进程由主管启动:

cat /proc/815/limits
Max open files 1024 4096 files

检查流程手动启动:

cat /proc/900/limits
Max open files 65000 65000 files

原因是使用了supervisor manage serivce。如果我重新启动主管并重新启动子进程,它是“最大打开文件”好(65000)但错误(1024)当重新启动系统主管自动启动。

可能是supervisor启动级别太高,supervisor启动时系统配置不工作?

编辑:

系统:ubuntu 12.04 64位

这不是supervisor的问题,系统重启后自动启动的所有进程都没有使用系统配置(max open files=1024),但是重启就可以了。

更新

也许问题是:

现在的问题是,如何设置全局 nofile 限制,因为我不想在我需要的每个 upstart 脚本中设置 nofile 限制。

最佳答案

通过为文件中的所有用户设置限制解决了这个问题:

$ cat /etc/security/limits.d/custom.conf
* hard nofile 550000
* soft nofile 550000

设置限制后重启服务器。

非常重要:/etc/security/limits.d/ 文件夹包含用户特定的限制。在我的例子中,hadoop 2 (cloudera) 相关限制。这些用户特定限制将覆盖全局限制,因此如果您的限制未被应用,请务必检查文件夹 /etc/security/limits.d/ 和文件 /etc/security/limits.conf.

注意:在所有情况下,设置用户特定限制都是可行的方法。应避免设置全局 (*) 限制。在我的例子中,它是一个孤立的环境,只需要从我的实验中消除文件限制问题。

希望这能为别人节省一些头发——因为我花了太多时间一 block 一 block 地拔头发!

关于linux - 如何设置全局 nofile 限制以避免 "many open files"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20901518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com