obv4.3.4 删除大表之后为何内存使用率没有下降

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】刚刚搭建的线上环境测试的时候发现清空数据(直接drop 表后)obd express 查看使用的存储空间减少了,但是内存使用率没有下降,跟删除前时候一样的,目前没有使用用户
疑问: 如果内存使用占比很高的话要怎么样把它清理呢?删除表后有没有什么命令回收内存之类的?目前没有开启回收站

查看内存参数配置

show parameters like "%memory_limit%"

再酌情修改

ALTER SYSTEM SET memory_limit='20G';
  1. OB 删除表后空间不会释放(不会变少,如果看到变少,跟删表无关)。OB 的数据和事务日志空间是预分配,确定了就不会增加,也不会减少。
  2. OB 的内存使用率基本上只会增加不会减少,增加到一个值就停了。内存使用率高不是什么问题,内存使用率低才是问题(浪费内存资源)。这个观念要转变。
  3. 如果觉得给租户的内存分配的太多,可以对租户内存配额进行缩容。

memory_limit 为 0M,表示使用百分比的配置方式,故以 memory_limit_percentage 为准,OceanBase 数据库内存上限为 100 GB*80%=80 GB。


memory_limit 为 90 GB,表示使用绝对值的配置方式,故以 memory_limit 为准,OceanBase 数据库内存上限为 90 GB。

1.内存是你创建租户时候预分配的,租户级
2.ocp-express查看内存的界面有多个都是不同级别的查看可以贴个图看看
3…使用ocp-express默认界面查看的内存是集群级的,当你分配了租户内存后就会变化。

4.你是不是想问的是磁盘空间为什么没有缩小,ob的磁盘和内存都是预分配配置的。从操作系统层面看是不会缩小的

1 个赞