Skip to Main Content

内核参数单个进程最大可打开的 fd 数检查

巡检规则

本文中提及的 RocketMQ Copilot 术语是 AutoMQ Copilot for RocketMQ 的简称,均特指安托盟丘(杭州)科技有限公司面向 Apache RocketMQ 设计实现的消息队列智能辅助运维系统。

检测数据源

内核参数单个进程最大可打开的 fd 数检查的检测数据源是目标集群的操作系统信息,通过读取目标集群的操作系统配置,判断是否存在风险。

检测周期

  • 每 10 分钟一次。
  • 不可关闭。

异常检测逻辑


内核文件句柄数配置 \< 655350,则产生异常事件。

事件和风险

RocketMQ Copilot 系统巡检会对检测不通过的规则产生异常事件和风险,异常事件遵循 概述▸

异常事件

异常风险

  • 关联的风险类型:内核单个进程最大可用 fd 数过小。

风险分析

Linux 中每个进程可打开的 fd(File Descriptor,文件描述符数)是有限的,默认值一般不会超过 1024。

如果最大可打开的 fd 数目太小,可能会导致打开文件报错,出现类似于 error: too many open files 的报错。

在 Broker 启动前,通过执行 os.sh 的建议调节至 655350,建议不要进行修改。

运维建议

建议 1:生产环境集群建议部署前执行 os.sh脚本优化内核参数

RocketMQ 安装脚本提供了内核参数调优脚本,生产集群部署时建议执行并优化参数。

建议 2:生产环境集群建议使用相同的调优完成的操作系统镜像部署

生产环境建议使用统一的调优完成的操作系统镜像,避免部分节点出现参数遗漏。