# 修改节点进程 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及以上版本集群**                 ||
|        **操作系统**         |   **1.17.9及以下版本集群**   |
|---|---|---|---|
| **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   |
| Huawei Cloud EulerOS 2.0 | 不涉及                   | 不涉及       | 4194304 |
| Ubuntu 22.04              | 不涉及                    | 不涉及          | 4194304   |
| Huawei Cloud EulerOS 1.1 | 不涉及                    | 不涉及      | 4194304   |
   
**修改建议**
- EulerOS 2.3：所有节点都涉及，建议您将kernel.pid_max取值修改为4194304，具体方法请参见[登录节点修改kernel.pid_max]。且后续创建节点和节点池时配置安装前脚本修改kernel.pid_max，具体方法请参见[配置节点池kernel.pid_max]和[创建节点时配置kernel.pid_max]
- EulerOS 2.5、CentOS 7.6、Ubuntu 18.04：
  - 对于1.17.17及以上版本集群2022年1月30日及之前创建的节点，建议您将kernel.pid_max取值修改为4194304，具体方法请参见[登录节点修改kernel.pid_max]。
  
  - 对于1.17.9及以下版本集群
    - 存量节点建议您将kernel.pid_max取值修改为4194304，具体方法请参见[登录节点修改kernel.pid_max]。
    
    - 如果新创建节点和节点池，建议配置安装前脚本修改kernel.pid_max，具体方法请参见[配置节点池kernel.pid_max]和[创建节点时配置kernel.pid_max]。
     
   
 
#### 查看节点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
**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
```
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000001536070461.png "点击放大")
 #### 创建节点时配置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
```
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000001536070685.png "点击放大")
