too many open files 问题解决方法

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:2

too many open files 问题解决方法


1 问题描述

Linux操作系统上经常会遇到too many open files文件句柄数不足问题


场景:

  • 有时PG或MySQL数据库会因为操作系统open files打开文件数耗尽而导致数据库异常、主从切换;

  • 苍穹星瀚升级也会碰到too many open files类似问题。

  • 部分中间件偶发情况下也有相关问题。


PG数据库异常示例


苍穹星瀚升级报错示例


2 解决方法

(1)系统服务启动默认读取 /etc/systemd/system.conf ,修改后要重启操作系统生效。

DefaultLimitNOFILE=1000000

DefaultLimitNPROC=1000000


(2)如PG服务可以在服务启动文件里设定最大文件数,如果没有设定会读取 /etc/systemd/system.conf值。


以PG为例,对服务配置文件/usr/lib/systemd/system/postgresql.service进行了设置则会读取自身配置值


[Service]

LimitNOFILE=1000000

LimitNPROC=1000000

运行如下命令生效

systemctl daemon-reload

systemctl restart postgresql


检查是否生效

cat /proc/服务进程号/limits


Max processes             1000000              1000000              processes

Max open files             1000000              1000000              files


(3)动态修改系统内核参数 /etc/sysctl.conf

fs.file-max = 1000000

执行命令生效

sysctl -p   


3 注意事项

  • 在不能重启服务器的情况下,可优先修改service服务配置文件。

  • 由于苍穹相关服务(数据库、中间件、K8S容器)均是由service服务进行启停,所以以修改system.conf和服务配置文件为主。

too many open files 问题解决方法

1 问题描述Linux操作系统上经常会遇到too many open files文件句柄数不足问题场景:有时PG或MySQL数据库会因为操作系统open files打开...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息