首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【YashanDB 知识库】崖山有哪些内存参数,Share Pool 各个参数之间有什么关系

【YashanDB 知识库】崖山有哪些内存参数,Share Pool 各个参数之间有什么关系

作者头像
用户11441800
修改2025-02-25 10:31:14
修改2025-02-25 10:31:14
1060
举报

问题现象

Oracle 一般只需要配置 SGA/PGA,SGA 内存会自动做分配,在崖山有比较多的内存配置参数,可以根据需要做详细的配置控制。具有有哪些主要参数,功能是什么呢,用户常有这种疑问。

在用户使用 YashanDB 的时候,开始的时候就会对内存的参数做一些配置调优,在另一篇文章《要有好的跑批性能,有哪些参数要注意》也介绍到如何合理配置各项参数,其中也涉及较多内存参数的配置。

但是用户实际使用的过程,陆续反馈了一些参数配置之后报错,例如 SQL_POOL_SIZE+DICTIONARY_CACHE_SIZE 配置大于 100 报错

问题的风险及影响

影响跑批性能

问题影响的版本

YashanDB 版本:23.2 及以上所有版本

解决方法及规避方式

崖山各项内存空间参数

可以参考下图:

上图中除了共享区域,其他各个配置均有对应的参数、观察使用情况的方法,可以在官网中找到详细的说明,有了观察实际使用情况的方法后,可以根据实际情况做调整。

而共享区域的配置则相对复杂一点,可以参考下一章节。

Share Pool 内部构成及相互关系

在 Oracle 中,SGA 是全局共享内存区域,其内部也有很详细的各种池子,各个池子之间可以自动调节。

YashanDB 的实现也有些类似,在 Share Pool 内存在多个 POOL,如 SQL POOL,DC POOL,LOCK_POOL,CURSOR_POOL 等,

为了方面用户使用,设计 SHARE POOL 统一参数,用户一般只需配置 SHARE_POOL_SIZE 参数即可,SHARE POOL 内存可在 SQL POOL、DC POOL 之间动态调整:SQL_POOL、DC_POOL、SHARE_POOL 以 MemoryPool 管理,以 MemoryPool 管理的 POOL 出现内存不足时,可以从 SHARE MEMORY POOL 申请内存。

为了方便高阶用户进一步调整,每个 POOL 存在对应的配置参数限制控制其大小,存在如下限制:

SQL_POOL_SIZE、DICTIONARY_CACHE_SIZE 表示占用 share pool 大小的百分比,两者总和不能超过 100

● LOCK_POOL_SIZE 和 CURSOR_POOL_SIZE 表示占用内存大小

● SQL_POOL_SIZE、DICTIONARY_CACHE_SIZE 参数范围为[1, 99]的整数,默认值分别为 50,25.

● SHARE_POOL_SIZE 参数范围为[160MB, 64TB],默认值为 256M, 生效方式为重启生效

● CURSOR_POOL_SIZE 默认值为 32M

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题现象
  • 问题的风险及影响
  • 问题影响的版本
  • 解决方法及规避方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档