
# ALM-13003 ZooKeeper进程垃圾回收（GC）时间超过阈值
#### 告警解释
系统每60秒周期性检测ZooKeeper进程的垃圾回收（GC）占用时间，当检测到ZooKeeper进程的垃圾回收（GC）时间超出阈值时，产生该告警。
垃圾回收（GC）时间小于阈值时，告警恢复。
#### 告警属性
| 告警ID  | 告警级别                                                        | 是否自动清除 |
|:---|:---|:---|
| 13003 | 紧急（默认阈值为10000ms） 重要（默认阈值为5000ms） | 是      |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| 来源                | 产生告警的集群名称。            |
| 服务名               | 产生告警的服务名称。            |
| 角色名               | 产生告警的角色名称。            |
| 主机名               | 产生告警的主机名。             |
| Trigger Condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
ZooKeeper进程的垃圾回收时间过长，可能影响该ZooKeeper进程响应时间变长，可能导致上层组件（例如Yarn、Flink、Spark等）业务失败。
#### 可能原因
该节点ZooKeeper实例堆内存使用率过大，或配置的堆内存不合理，导致进程GC频繁。
#### 处理步骤
**检查GC时间。**
1. 登录MRS集群Manager页面，选择"运维 \> 告警 \> 告警"。查看当前告警详细信息，记录告警上报的实例的IP地址。 
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 在Manager首页，选择"集群 \> 服务 \> ZooKeeper \> 实例 \> quorumpeer（告警上报IP对应实例）"。单击图表区域右上角的下拉菜单，选择"定制 \> GC"，勾选"ZooKeeper垃圾回收（GC）时间"，单击"确定"，查看ZooKeeper每分钟的垃圾回收时间统计情况。 
   图1ZooKeeper垃圾回收（GC）时间   
   ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000001164597228.png "点击放大")
   
   
3. 查看ZooKeeper每分钟的垃圾回收时间统计值是否大于告警阈值（默认12秒）。 
   - 是，执行[步骤 4]。
   
   - 否，执行[步骤 8]。
   
   
   
   
4. 请先排查应用程序是否存在内存泄露等问题，详细操作请联系运维人员。
5. 在Manager首页，选择"集群 \> 服务 \> ZooKeeper \> 配置 \> 全部配置 \> quorumpeer \> 系统"。将"GC_OPTS"参数值根据实际情况调大。 
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   -Xmx一般配置为ZooKeeper数据容量的2倍，如果ZooKeeper容量达到2GB，则GC_OPTS建议配置为：
   -Xms4G -Xmx4G -XX:NewSize=512M -XX:MaxNewSize=512M -XX:MetaspaceSize=64M -XX:MaxMetaspaceSize=64M -XX:CMSFullGCsBeforeCompaction=1
   
   
6. 保存配置，并重启ZooKeeper服务。 
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   服务在重启过程中将不可用。另外，依赖该服务的上层服务也将受到影响。
   
   
7. 观察界面告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 8]。
   
   
   
   
**收集故障信息。**
8. 在Manager界面，选择"运维 \> 日志 \> 下载"。
9. 在"服务"中勾选待操作集群的"ZooKeeper"。
10. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895382.png)设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
11. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
