【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】
看下内存 还剩多少? free -h select *from gv$ob_servers\G
OceanBase 报错 “no memory or reach tenant memory limit” 指的是在使用 OceanBase 数据库时,遇到了内存不足或达到了租户的内存限制的问题。这可能是由于以下原因导致的:
- 租户内存限制设置过低:租户的内存限制可能被设置得太低,无法满足实际需求的内存量。这可以通过调整租户的内存限制来解决。
- 数据库负载过高:如果数据库负载过高,可能会导致内存资源不足。这可能涉及查询优化、索引设计等方面的优化工作。
- 系统资源不足:如果服务器的物理内存资源本身就不足,也可能导致该错误。在这种情况下,可以考虑增加服务器的内存或进行硬件升级。
查询当前已使用的内存数(单位:GB)的方法如下:
obclient> SELECT value/1024/1024/1024 used_gb FROM v$sysstat WHERE name LIKE ‘%observer memory%’ AND con_id = 1 AND stat_id=140008 AND name=‘observer memory used size’;
你可以尝试 调整租户内存限制:登录 OceanBase 管理界面,检查租户的内存限制设置,并根据实际需求进行调整。
例如,memory_limit='40G' 表示设置 OceanBase 数据库进程的使用内存上限是 40 GB。