ALM-5101263 Ops巡检-动态内存使用率异常
告警解释
此告警对应指标“动态内存使用率”超出配置阈值,此指标反映gaussdb进程动态内存使用率。
告警属性
|
告警ID |
告警级别 |
告警类型 |
告警归属 |
业务类型 |
是否可自动清除 |
|---|---|---|---|---|---|
|
5101263 |
巡检配置 |
物理资源告警 |
租户面 |
云数据库 GaussDB 节点 |
是 |
告警参数
|
类别 |
参数名称 |
参数含义 |
|---|---|---|
|
定位信息 |
云服务 |
产生告警的云服务 |
|
实例ID |
产生告警的实例ID |
|
|
节点ID |
产生告警的节点ID |
|
|
巡检名称 |
产生告警的巡检名称 |
|
|
指标编码 |
产生告警的指标编码 |
|
|
附加信息 |
租户名称 |
产生告警的租户名称 |
|
实例名称 |
产生告警的实例名称 |
|
|
租户ID |
产生告警的租户ID |
|
|
云服务 |
产生告警的云服务 |
|
|
服务 |
产生告警的服务 |
|
|
微服务 |
产生告警的微服务 |
|
|
告警源IP |
告警源IP |
|
|
节点角色 |
产生告警节点的节点角色 |
|
|
指标编码 |
产生告警节点的指标编码 |
|
|
指标采集值 |
产生告警节点的指标采集值 |
|
|
指标阈值 |
产生告警节点的指标阈值 |
对系统的影响
此指标持续上涨,达到100%的值,语句执行会由于无内存报错。
可能原因
- 连接数增加,内存正常使用。
- 业务连接池机制设置不合理,数据库中留存过多的空闲连接。
- SQL模板、存储过程模板数量较多。
- 内存泄漏。
处理步骤
- 收到告警后,首先通过查看监控指标查看指标“动态内存使用率”,确认指标情况以及触发告警的组件。
- 确认此指标是否已达100%。
- 如果已达或超过90%仍持续上涨,优先查杀空闲会话达到降动态内存的目的。否则,执行2,进行分析。
- 确认是否由于业务增大并发导致。
通过查看监控指标查看“在线会话数”指标,是否有联动上涨。
- 是,则大概率和业务变动有关,需要及时知会业务风险。
- 否,执行3。
- 确认是否由于底层故障导致该节点处理能力下降。
- 登录实例节点。
- 执行如下命令查看cm_agent的日志:
![]()
- 查看告警时间点周围日志中是否有ping失败的ERROR日志。
- 通过告警组件登录系统库,执行如下语句:
select backend_start, query_start, state_change, state from pg_stat_activity where state = 'idle' and usename not like '%rds%';![]()
确认业务是否有长时间不使用的空闲连接并同步通过查看监控指标查看“活跃会话率”指标,如果业务有长时间不使用的空闲连接,且活跃会话率指标低于5%,考虑调整业务连接池参数,减少空闲连接。
确认业务是否有长时间不使用的空闲连接方法:backend_start与当前时间的间隔较长,且query_start和state_change时间距离当前大于1天。
- 通过告警组件登录系统库,查询如下语句:
- 分布式查询方式:
select contextname, sum(totalsize)/1024/1024 as total, sum(usedsize)/1024/1024 as used,count(*) as session_count from pv_session_memory_detail group by 1 order by 2 desc limit 20;![]()
- 集中式查询方式:
select contextname, sum(totalsize)/1024/1024 as total, sum(usedsize)/1024/1024 as used,count(*) as session_count from gs_session_memory_detail group by 1 order by 2 desc limit 20;
根据查询结果,可以确认占用较多的内存上下文。
- contextname:标识申请内存的上下文名称。
- total:标识对应内存上下文总共申请的内存。
- used:标识当前正在使用内存。
- session_count:标识当前DN上session数量。
- 多次查询,如果contextname排在前五持续有如下三个值:CachedPlanQuery、CachedPlanSource、CachedPlan,基本上为SQL模板、存储过程模板数量较多场景,需要分析业务语句模板数量并建议业务降低JDBC连接串参数preparedStatementCacheQueries,减少缓存模板数,此带来的风险是业务调整时延可能受到影响,需要验证后再实施,且需要重新建立业务连接,建议联系技术支持协助评估。
- 多次查询如果session_count不变,contextname的值SessionCacheMemoryContext占用持续上涨则可能是内存泄漏,联系技术支持处理。
- 如果非上述两种情况,联系技术支持。
- 分布式查询方式:
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。



浙公网安备 33010602011771号