为什么gv$ob_memstore视图查看的FREEZE_TRIGGER和MEMSTORE_LIMIT值和理论计算值不一致

【 使用环境 】测试环境
【 OB 】
【 使用版本 】4.3.5.3
【问题描述】当前有一个租户的配置1.5c6GB配置,正常情况下租户参数memstore_limit_percentage=50,freeze_trigger_percentage=20,由于我租户内存为6GB ,那么我的
memstore_limit应该为3GB才对,freeze_trigger应该为0.6GB才对吧 但是我在租户内查询 gv$ob_memstore 却总是小一些,难道是租户内部其他组件预留了一部分内存么

【复现路径】复现日志如下

1 ob版本

2 、通过sys租户查询test租户资源配置


3 test 租户信息

4 登录test租户查询GV$ob_memestore

5 登录test租户查看参数配置

6 问题疑惑点:
我的内存配置为6GB,memstore_limit_percentage=50,freeze_trigger_percentage=20
理论上gv$ob_memstore 视图中的memstore_limit应该为6x0.5=3GB ,freeze_trigger应该为6x0.5x0.2=0.6GB,难道是有其他的内部组件占用了一部分内存?

官方文档参考说明

5 个赞

感谢分享

1 个赞

是计算方法的问题吧

1 个赞

这个得开发看了吧?

查一下这个隐藏的配置项 SELECT * FROM oceanbase.GV$OB_PARAMETERS
WHERE name like ‘%_memstore_limit_percentage%’;

1 个赞

下面是sys租户查看结果

下面是test租户查看下呢结果

1 个赞


这个信息 查询的应该是包括meta租户的内存的
meta租户规格的10%

  • 租户规格大于等于2G时,Meta租户最小1G
  • 租户规格小于2G时,Meta租户占用512M

计算结果:
6-1=5G*50%=2.5G

1 个赞

看来应该是meta使用的

1 个赞

这里容易引起误解

确实是meta租户占用了一部分