
# ALM-50223 BE所需最大内存大于机器剩余可用内存
#### 告警解释
系统每30秒周期性检查BE所需最大内存是否大于机器剩余可用内存，当检查到该值不等于1（1表示小于等于，0表示大于）时产生该告警。
BE所需最大内存小于等于机器剩余可用内存时，告警清除。
#### 告警属性
| 告警ID  | 告警级别 | 是否可自动清除 |
|:---|:---|:---|
| 50223 | 重要   | 是       |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| 来源                | 产生告警的集群或系统名称。         |
| 服务名               | 产生告警的服务名称。            |
| 角色名               | 产生告警的角色名称。            |
| 主机名               | 产生告警的主机名。             |
| Trigger Condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
可能会导致任务运行时申请不到内存而失败。
#### 可能原因
BE节点内存被其他进程占用过大导致机器剩余内存不够，或BE服务最大内存上限设置过大。
#### 处理步骤
**检查BE节点设置的最大内存上限是否合理**。
1. 登录FusionInsight Manager，选择"运维 \> 告警 \> 阈值设置 \> *待操作集群的名称* \> Doris \> CPU和内存 \> BE最大内存与机器剩余内存的关系 (BE)"。
2. 单击"平滑次数"后的编辑按钮，根据实际使用情况，修改平滑次数配置项，单击"确定"。
3. 单击"操作"列的"修改"，根据实际使用情况，更改告警阈值，单击"确定"。
4. 等待两分钟，查看告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 5]。
   
   
   
   

5. 使用**omm** 用户登录产生告警的BE所在节点，执行**"top"** 查看进程使用内存情况，找到占用较高的内存的进程，检查是否是本服务应存在的进程，是否合理。
   
   - 是，执行[步骤 6]。
   
   - 否，对此进程进行隔离、关闭或调整内存大小处理，观察机器内存是否被释放出。
   
   
   
   
6. 使用**omm** 用户登录产生告警所在的BE节点，执行**"free -g"**查看系统使用中总的内存和剩余内存，查看剩余内存大小，预估使用率。
7. 在FusionInsight Manager界面，选择"集群 \> 服务 \> Doris \> 配置 \> 全部配置 \> BE（角色） \> 内存"，调小"mem_limit"参数的阈值，该参数值是BE占用内存的上限，修改后保存并重启BE实例。 
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/notice_3.0-zh-cn.png)
   在BE实例重启期间，运行在对应BE节点上的任务会失败，未进行重启的BE节点上的任务不受影响。
   
   
8. BE重启成功后，等待五分钟，查看该告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 9]。
   
   
   
   
**收集故障信息。**
9. 在FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
10. 在"服务"中勾选待操作集群的Doris。
11. 单击右上角的时间编辑按钮，设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
12. 请联系运维人员，并发送已收集的故障日志信息
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
不涉及。
