基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
ob_mem_assigned_percent_over_threshold OB 已经分配给租户的内存占比超限
更新时间:2026-04-14 11:55:54
告警描述
该告警监测整个 OceanBase 集群中已经指定给租户的内存空间之和是否超限,若超限则上报该告警。
告警原理
下表列出了该告警监控逻辑中涉及的关键参数。
| 参数 | 值 |
|---|---|
| 监控指标 | ob_mem_assigned_percent |
| 数据来源 | SQL:select /*+ READ_CONSISTENCY(WEAK)*/ mem_assigned,mem_total from __all_virtual_server_stat where svr_ip = @svr_ip and svr_port = rpc_port(); |
| 采集指标 | mem_assigned、mem_total |
| 监控表达式 | 100 * avg(mem_assigned{metric_group="all_virtual_server_stat",@LABELS}) by (@GBLABELS) / avg(mem_total{metric_group="all_virtual_server_stat",@LABELS}) by (@GBLABELS) |
| 采集周期 | 60 秒 |
监控指标 ob_mem_assigned_percent 的值表示 OBServer 节点已经分配给租户的内存占比,当内存占比高于阈值(默认为 98%)时触发告警。
规则信息
| 监控指标 | 默认阈值(单位:%) | 持续时间 | 检测周期 | 消除周期 |
|---|---|---|---|---|
| ob_mem_assigned_percent | 98 | 0 秒 | 60 秒 | 5 分钟 |
告警信息
| 告警触发方式 | 告警等级 | 范围 |
|---|---|---|
| 基于监控指标的表达式 | 注意 | 服务器 |
告警模板
告警概述模板:${alarm_target} ${alarm_name}
告警详情模板:集群:${ob_cluster_name},主机:${host},告警:${alarm_name}, 已分配内存占比 ${value_shown} 超过 ${alarm_threshold} %
告警概述样例:ob_cluster=obcluster-1:svr_ip=xxx.xxx.xxx.xxx OB 已经分配给租户的内存占比超限
告警详情样例:集群:obcluster-1,主机:xxx.xxx.xxx.xxx,告警:OB 已经分配给租户的内存占比超限,已分配内存占比 99.0 % 超过 98.0 %
对系统的影响
业务需要申请更多资源、或有新的业务需要创建新租户时,可能因为资源不足而无法创建成功。
可能原因
OceanBase 集群的内存资源剩余不足,再分配下去则有内存超分或超卖的可能性。
集群中存在 OBServer 节点下线等场景。
处理方法
检查 OceanBase 集群中是否存在下线的 OBServer 节点。
查看该集群 总览 页的 OBServer 列表 中是否存在状态不正常的 OBServer 节点。
存在,则会同时上报 ob_cluster_exists_inactive_server OB 集群存在不工作 OBServer 节点 ,请参考文档先处理该告警,再观察本节所述告警是否还上报。
不存在,可能仅仅是 OceanBase 集群的剩余内存不足。请执行下一步。
可能是 OceanBase 集群的剩余内存不足。
可根据实际情况,选择下述方法解决。
参考 删除租户 删除不使用的租户 。
对实际内存使用小于分配的租户进行缩容,即调整该租户的 Unit 规格,请参考 Unit 规格管理 。
参考 添加 OBServer 节点 为该集群增加 OBServer 节点从而达到集群扩容的目的。