更新时间:2025-12-08 GMT+08:00

修改节点进程 ID数量上限kernel.pid_max

背景信息

进程 ID(PID)是节点上的一种基础资源,容易在尚未超出其它资源约束的时候触及进程ID数量上限,进而导致节点不稳定。

您可以根据实际业务需求调整进程ID数量上限

默认kernel.pid_max说明

CCE在2022年1月底将1.17及以上集群的节点公共操作系统CentOS 7.6镜像kernel.pid_max默认值调整为4194304,满足如下两个条件节点的kernel.pid_max值为4194304。

  • 集群版本:1.17.17及以上版本
  • 节点创建时间:2022年1月30日之后

如果不满足如上两个条件,CentOS 7.6上kernel.pid_max默认值32768。

表1 节点kernel.pid_max默认值

操作系统

1.17.9及以下版本集群

1.17.17及以上版本集群

2022年1月30日及之前创建的节点

2022年1月30日之后创建的节点

CentOS 7.6

32768

32768

4194304

Huawei Cloud EulerOS 2.0

不涉及

不涉及

4194304

Ubuntu 22.04

不涉及

不涉及

4194304

修改建议

查看节点kernel.pid_max

登录节点,执行如下命令查看节点kernel.pid_max。

sysctl kernel.pid_max

回显如下:

kernel.pid_max = 32768

如果节点kernel.pid_max大小不能满足您的业务诉求,您可以修改kernel.pid_max大小,具体方法请参见修改节点kernel.pid_max

查看节点当前pid用量

登录节点,执行如下命令可查看当前pid用量。

ps -eflL | wc -l

回显如下:

691

修改节点kernel.pid_max

登录节点,执行如下命令修改,其中4194304为kernel.pid_max大小,可根据实际业务需求修改。

echo kernel.pid_max = 4194304 >> /etc/sysctl.conf && sysctl -p

执行如下命令检查是否修改成功,当返回值与修改值一致时说明修改正确。

sysctl kernel.pid_max

回显如下:

kernel.pid_max = 4194304

配置节点池kernel.pid_max

CentOS 7.6:1.17.9及以下版本集群建议配置;1.17.17及以上版本当前已在操作系统镜像中将kernel.pid_max调整为4194304,无需配置。

您可以设置节点池安装前执行脚本,在节点池中新创建节点时通过脚本配置kernel.pid_max大小。

在创建节点池时,在“高级配置 > 安装后执行脚本”中添加如下命令。

echo kernel.pid_max = 4194304 >> /etc/sysctl.conf && sysctl -p

创建节点时配置kernel.pid_max

CentOS 7.6:1.17.9及以下版本集群建议配置;1.17.17及以上版本当前已在操作系统镜像中将kernel.pid_max调整为4194304,无需配置。

您可以设置节点安装前执行脚本,在新创建节点时通过脚本配置kernel.pid_max大小。

在创建节点时,在“高级配置 > 安装后执行脚本”中添加如下命令。

echo kernel.pid_max = 4194304 >> /etc/sysctl.conf && sysctl -p