更新时间:2023-07-14 GMT+08:00
分享

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

背景信息

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

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

默认kernel.pid_max说明

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

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

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

表1 节点kernel.pid_max默认值

操作系统

1.17.9及以下版本集群

1.17.17及以上版本集群

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

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

EulerOS 2.5

32768

32768

4194304

CentOS 7.6

32768

32768

4194304

Ubuntu 18.04

不涉及

32768

4194304

EulerOS 2.3

57344

57344

57344

EulerOS 2.9

不涉及

4194304

4194304

修改建议

查看节点kernel.pid_max

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

sysctl 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

# ps -eflL | wc -l
691

修改节点kernel.pid_max

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

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

echo 4194304 > /sys/fs/cgroup/pids/kubepods/pids.max

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

# sysctl kernel.pid_max
kernel.pid_max = 4194304
# cat /sys/fs/cgroup/pids/kubepods/pids.max
4194304

配置节点池kernel.pid_max

EulerOS 2.3:建议配置

EulerOS 2.5、CentOS 7.6、Ubuntu 18.04: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

EulerOS 2.3:建议配置

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

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

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

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

分享:

    相关文档

    相关产品