
# ALM-12061 进程使用率超过阈值
#### 告警解释
系统每30秒周期性检测omm进程使用情况，执行**ps -o nlwp,pid,args, -u omm \| awk '{sum+=$1} END {print "", sum}'** 命令，获取当前omm用户并发的所有进程数，在omm用户下，执行**ulimit -u**，获取omm用户可以同时打开的进程最大数。
结果相除，获取到对应的omm用户进程使用率。进程使用率默认提供一个阈值范围。当检测到进程使用率超出阈值范围时产生该告警。
平滑次数为3，进程使用率小于或等于阈值时，告警恢复；如果当前平滑次数大于1，进程使用率小于或等于阈值的90%时，告警恢复。
#### 告警属性
| 告警ID  | 告警级别                                               | 是否自动清除 |
|:---|:---|:---|
| 12061 | 紧急（默认阈值为95） 重要（默认阈值为90） | 是      |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| 来源                | 产生告警的集群或系统名称。         |
| 服务名               | 产生告警的服务名称。            |
| 角色名               | 产生告警的角色名称。            |
| 主机名               | 产生告警的主机名。             |
| Trigger Condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
业务失败：进程使用率超过阈值时，无法切换到**omm** 用户。无法创建新的**omm**线程，可能会导致作业运行失败。
#### 可能原因
- 告警阈值配置不合理。
- omm用户可以同时打开的进程（包括线程）的最大个数配置不合理。
- 同时打开的进程过多。
 
#### 处理步骤
**检查告警阈值配置或者平滑次数配置是否合理。**
1. 在FusionInsight Manager界面，基于实际CPU使用情况，修改告警阈值和平滑次数配置项。 
   根据实际服务的使用情况在"运维 \> 告警 \> 阈值设置 \> *待操作集群的名称* \> 主机 \> 进程 \> omm 进程使用率"中更改告警的平滑次数，如[图1]所示。
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   该选项的含义为告警检查阶段，"平滑次数"为连续检查多少次超过阈值，则发送告警。
   图1设置告警平滑次数   
   ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895717.png "点击放大")
   根据实际服务的使用情况在"运维 \> 告警 \> 阈值设置 \> *待操作集群的名称* \> 主机 \> 进程 \> omm 进程使用率"中修改对应规则的阈值，如[图2]所示。
   图2设置告警阈值   
   ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895446.png "点击放大")
   
   
2. 等待2分钟，查看告警是否自动恢复。 
   - 是，处理完毕。
   
   - 否，执行[步骤 3]。
   
   
   
   
**检查系统omm用户同时打开的进程（包括线程）最大数的配置是否合理。**
3. 打开FusionInsight Manager页面，在告警列表中，单击此告警所在行的下拉框，查看该告警的主机地址
4. 以**root**用户登录告警所在主机，用户密码为安装前用户自定义，请咨询系统管理员。
5. 执行以下命令获取到当前配置的omm用户同时打开的线程最大数的配置值，查看该值是否大于等于60000。 
   **su - omm -c "ulimit -u"**
   - 是，执行[步骤 7]。
   
   - 否，执行[步骤 6]。
   
   
   
   

6. 执行以下命令，将**omm** 用户的该配置修改为60000。
   
   **vi /etc/security/limits.d/omm-nproc.conf**
   执行以下命令切换到**omm**用户，并重启nodeagent进程，等待2分钟，查看告警是否消失。
   **su - omm**
   **sh $BIGDATA_HOME/om-agent/nodeagent/bin/restart-agent.sh**
   - 是，处理完毕。
   
   - 否，执行[步骤 11]。
   
   
   
   
**检查是否同时打开的进程过多。**
7. 打开FusionInsight Manager页面，在告警列表中，单击此告警所在行的下拉框，查看该告警的主机地址。
8. 以**root**用户登录告警所在主机。
9. 执行命令**ps -o nlwp,pid,lwp,args, -u omm\|sort -n** ，查看系统当前使用的线程数量。
   
   命令回显结果基于线程数排序，分析线程数最大的top5线程，结合业务分析是否异常使用。（其中"PID"列为对应进程ID）
   - 是，在不影响业务的情况下，参考以下操作终止top5中异常使用进程的父进程。执行[步骤 10]。
     1. 执行以下命令查询对应进程的父进程。 **ps -ef \| grep "** *进程ID* **"**
        查询出的第三列即为父进程ID。
        
     
     2. 执行以下命令终止父进程。 **kill -9** *父进程ID*
        
      
   
   - 否，如果所有线程均正常使用，则需要执行**ulimit -u**命令，将该值调整到大于60000。
   
   
   
   
10. 等待5分钟，检查该告警是否恢复。
    
    - 是，处理完毕。
    
    - 否，执行[步骤 11]。
    
    
    
    
**收集故障信息。**
11. 在集群的FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
12. 在"服务"中勾选"OmmServer"和"NodeAgent"，单击"确定"。
13. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895578.png)设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
14. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
