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