oceanbase主要内存组成部分

内存的组成
系统内存
observer内存
memory_limit
memory_limit_percentage

公共内存
system_memory
租户内存
memory_limt/memory_limit_percentage-system_memory

每个租户内部的内存大体上分为两个部分
memstore:不可动态伸缩的内存,用于保存DML产生的增量数据,空间不可被占用。
memstore大小的参数是由memstore_limit_percentage决定,表示租户的memstore部分点租户总内存的百分比,默认是50。当memstore内存使用超过freeze_trigger_percentage定义的百分比时,会触发冻结及后续的转储、合并等操作。
kvcache:可动态伸缩的内存,保存来自sstable的热数据,提高查询速度,大小可以动态伸缩,会被其他各种cache挤占

内存的查看

show parameter like ‘memory%’

show parameter like ‘system%’

show parameter like ‘memstore%’

select * from v m e m s t o r e / g v memstore/gv memstore/gvmemstore
select * from v$unit

租户内存超限的排查步骤

查看memstore是否超过上限

select
/*+ read_consistency(weak),(query_timeout(100000000) */ tenant_id,ip,round(active/1024/1024/1024,2) active_gb,
round(total/1024/1024/1024,2)total_gb,
round(freeze_trigger/1024/1024/1024,2) freeze_trigger_gb,
round(total/free_trigger,2) percent_trigger,
round(mem_limit/1024/1024/1024,2) mem_limit_gb
from gv$memstore
where tenant_id>1000 or tenant_id=1
order by tenant_id,total_gbdesc

查看total_gb是否已经达到mem_limit_gb,即表示memstore全部写满

查看memstore之外的组件的内存使用情况
select tenant_id,svr_id,mod_name,sum(hold) module_sum
from _all_virtual_memory_info
where tenant_id>1000 and hold>0 and mod_name not in (‘OB_KVSTORE_CACHE’,‘OB_MEMSTORE’)
group by tenant_id,svr_id,mod_name
order by module_sum desc

查看使用超过一定大小的模块

select
from gv$memory
where used>102410241024*10 and context not in (‘OB_MEMSTORE’,‘OB_KVSTORE_CACHE’)
order by used desc

500租户内存超限
tenand_id=500的租户是ob内部租户,简称500租户。它的内存使用情况没有被gv m e m o r y 和 v memory和v memoryvmemory统计,需要单独查询_all_virtual_memory_info表

select
svr_ip,mod_name,sum(hold) system_memory_sum
from _all_virtual_memory_info

where tenant_id=500 and hold<>0
group by svr_ip,mod_name
order by system_memory_sum desc

系统内存耗尽

内存的设置

alter system set memory_limit=
alter system set memory_limit_percentage=
alter system set system_memory
alter system set memstore_limit_percentage
alter sytsem set freeze_trigger_percentage

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值