更新时间:2024-11-29 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
ALM-43011 JDBCServer进程非堆内存使用超出阈值
告警解释
系统每30秒周期性检测JDBCServer进程非堆内存使用状态,当检测到JDBCServer进程非堆内存使用率。
大于最大内存的85%,小于最大内存的95%时,产生严重告警,大于最大内存的95%时产生紧急告警。
告警属性
| 
        告警ID  | 
      
        告警级别  | 
      
        告警类型  | 
      
        业务类型  | 
      
        是否可自动清除  | 
     
|---|---|---|---|---|
| 
        43011  | 
      
        重要(默认阈值为最大内存的为85%) 紧急(默认阈值为最大内存的95%)  | 
      
        业务质量告警  | 
      
        Spark  | 
      
        是  | 
     
告警参数
| 
        类别  | 
      
        参数名称  | 
      
        参数含义  | 
     
|---|---|---|
| 
        定位信息  | 
      
        来源  | 
      
        产生告警的集群名称。  | 
     
| 
        服务名  | 
      
        产生告警的服务名称。  | 
     |
| 
        角色名  | 
      
        产生告警的角色名称。  | 
     |
| 
        主机名  | 
      
        产生告警的主机名。  | 
     |
| 
        附加信息  | 
      
        Trigger Condition  | 
      
        系统当前指标取值满足自定义的告警设置条件。  | 
     
对系统的影响
JDBCServer进程非堆内存使用率过高,会影响JDBCServer进程运行的性能,甚至造成内存溢出导致JDBCServer进程不可用,Spark JDBC任务执行变慢或失败。
可能原因
该节点JDBCServer进程非堆内存使用率过大,或配置的非堆内存不合理,导致使用率超过阈值。
处理步骤
检查非堆内存使用率
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,选中“ID”为“43011”的告警,查看“定位信息”中的角色名以及确认主机名所在的IP地址。
 - 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Spark > 实例”,单击告警上报的JDBCServer,进入实例“概览”页面,单击图表区域右上角的下拉菜单,选择“定制 > JDBCServer内存使用率统计”,单击“确定”,查看JDBCServer进程使用的非堆内存是否已达到JDBCServer进程设定的最大非堆内存的阈值(默认95%)。
 - 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Spark > 实例”,单击告警上报的JDBCServer,进入实例“概览”页面,单击图表区域右上角的下拉菜单,选择“定制 > JDBCServer进程的非堆内存统计” ,单击“确定”,根据告警产生时间,查看对应时间段的“JDBCServer进程使用的非堆内存”的值,获取最大值。
 - 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Spark > 配置”,单击“全部配置”,选择“JDBCServer > 性能”,将“spark.driver.extraJavaOptions”参数中-XX:MaxMetaspaceSize的值根据如下原则调整:告警时间段内JDBCServer使用的非堆内存的最大值和“JDBCServer非堆内存使用率统计(JDBCServer)”阈值的比值。
    
    
 
     在FusionInsight Manager首页,选择“运维 > 告警 > 阈值设置 > 待操作集群名称 > Spark > 内存 > JDBCServer非堆内存使用率统计(JDBCServer)”,可查看“阈值”。
 - 重启所有的JDBCServer实例。
 - 等待10分钟,观察界面告警是否清除。
    
    
- 是,处理完毕。
 - 否,执行7。
 
 
收集故障信息
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。
   父主题: 告警参考
  
 
    
      