如何解决ECS日志中出现Too many open files的错误?
问题描述
Linux操作系统的ECS日志中出现“Too many open files”的错误。
可能原因
too many open files(打开的文件过多),表示程序打开的文件句柄数过多,超过了某一资源的限制。一般来说这个资源的限制包含两种维度的限制,包含系统的整体限制和用户单独的限制。出现该问题时需要判断具体超出了哪一维度的限制,再对该限制参数进行调整。
处理方法一:系统范围设置
处理方法二:用户层面设置
- 以root用户登录云服务器。
- 执行以下命令,检查当前打开文件数的限制。
- 执行以下命令,增加数量限制。
- 执行以下命令,编辑/etc/security/limits.conf文件,增加打开文件的数量限制。
- 按i键进入编辑模式。
- 在文件末尾添加如下内容,此处以655350为例,可根据具体情况修改数值。
- 只针对特定用户
user - nofile 655350
- 所有用户
* - nofile 655350
- 只针对特定用户
- 按ESC键退出,并输入:wq保存配置。
- 执行以下命令,重启服务器,使修改永久生效。
Linux操作系统云服务器中的限制资源使用的模块首先读取/etc/security/limits.conf,然后读取每个匹配的文件/etc/security/limits.d/*.conf,您在 /etc/security/limits.conf 中所做的任何更改可能会被后续文件覆盖。若重启后修改未生效请参见修改/etc/security/limits.conf文件,重启后不生效怎么办?处理。