
# ALM-18009 MapReduce JobHistoryServer堆内存使用率超过阈值（2.x及以前版本）
#### 告警解释
系统每30秒周期性检测Mapreduce JobHistoryServer堆内存使用率，并把实际的Mapreduce JobHistoryServer堆内存使用率和阈值相比较。当Mapreduce JobHistoryServer堆内存使用率超出阈值（默认为最大堆内存的80%）时产生该告警。
用户可通过"系统设置 \> 阈值配置 \> 服务 \> Mapreduce"修改阈值。当MapReduce JobHistoryServer堆内存使用率小于或等于阈值时，告警恢复。
#### 告警属性
| 告警ID  | 告警级别 | 可自动清除 |
|:---|:---|:---|
| 18009 | 严重   | 是     |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| ServiceName       | 产生告警的服务名称。            |
| RoleName          | 产生告警的角色名称。            |
| HostName          | 产生告警的主机名。             |
| Trigger Condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
Mapreduce JobHistoryServer堆内存使用率过高，会影响Mapreduce 服务日志归档的性能，甚至造成内存溢出导致Mapreduce服务不可用。
#### 可能原因
该节点Mapreduce JobHistoryServer实例堆内存使用量过大，或分配的堆内存不合理，导致使用量超过阈值。
#### 处理步骤
1. 检查堆内存使用率。 
   1. 登录MRS集群详情页面，选择"告警管理"。
   
   2. 选中"告警ID"为"18009"的告警，查看"定位信息"中的实例的IP地址及角色名。
   
   3. 单击"组件管理 \> MapReduce \> 实例 \> JobHistoryServer（对应上报告警实例IP地址） \> 定制 \> JobHistoryServer堆内存使用百分比统计"。查看堆内存使用情况。
   
   4. 查看JobHistoryServer使用的堆内存是否已达到JobHistoryServer设定的最大堆内存的80%。
      - 是，执行[1.e]。
      
      - 否，执行[步骤 2]。
       
   
   5. 单击"组件管理 \> MapReduce \> 服务配置 \> 全部配置 \> JobHistoryServer \> 系统"。将GC_OPTS参数中-Xmx的值根据实际情况调大，并单击"保存配置"，勾选"重新启动角色实例。"，单击"确定"进行重启。
   
   6. 观察界面告警是否清除。
      - 是，处理完毕。
      
      - 否，执行[步骤 2]。
       
   
   
   
   
2. 收集故障信息。
   
   1. 在MRS Manager界面，单击"系统设置 \> 日志导出"。
   
   2. 请联系运维人员，并发送已收集的故障日志信息。
   
   
   
   
 
#### 参考信息
无。
