暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 全局共享内存(SGA)

墨天轮 2019-09-28
1327

全局共享内存(SGA)

CR_POOL_SIZE

参数描述:一致性读页面缓存区(即CR pool )的大小。

请根据实际内存大小配置,配置较大值可以加速并发场景下数据访问速度

取值范围:整数,[16M,32T],单位为字节。

默认值:32M

注:在并发访问场景下,当前数据页面可能对当前session不具有可见性,需要利用事务原理构建可见页面,称作一致性读页面。

CR_POOL_COUNT

参数描述:一致性读页面缓存分区(即CR pool分区)的数量。

请根据实际内存大小配置,配置较大值可以减少不同通过session之间的竞争,加速并发场景下数据访问速度

取值范围:整数,[1,256]。

默认值:1

DATA_BUFFER_SIZE

参数描述:设置数据BUFFER区的大小。数据BUFFER区用于缓存最近访问的数据。

取值范围:整数,[64M,32T],单位为字节。

请根据实际内存大小配置,配置较大值可以加速数据访问速度。

默认值:128M

SHARED_POOL_SIZE

参数描述:Shared Pool的大小。

Shared Pool包括lock pool、sql pool、dc pool一起共享使用的空间。

取值范围:整数,[82M,32T],单位为字节。

请根据实际内存大小配置,配置较大值可以加速数据访问速度

默认值:128M

_SQL_POOL_FACTOR

参数描述:SQL POOL在SHARED POOL中的最大比例。

  • DC POOL在SHARED POOL中的最大比例为1-_SQL_POOL_FACTOR。
  • 当DC不足时(dc所有页面数为B),通过dv_gma_stats可以查出SQL POOL当前所用的页面数(记为A),则SQL POOL与DC POOL的建议比例可为0.8A:B,特殊场景可能要做几轮尝试配置。

取值范围:数值,[0.001, 0.999]

默认值:0.5

备注:

VARIANT_MEMORY_AREA_SIZE

参数描述:存放执行过程中小于16K变量(绑定参数等)的内存区(VMA)大小,内存区内一页大小为16K。设置后重启生效。

取值范围:数值,[4M, 32T]

默认值:32M

配置建议:安装数据库时,参数建议设置为VARIANT_MEMORY_AREA_SIZE = 16K * _VMP_CACHES_EACH_SESSION * SESSIONS * 1.1;升级数据库时,参数建议设置为VARIANT_MEMORY_AREA_SIZE = _VARIANT_AREA_SIZE * SESSIONS * 0.8;

LARGE_VARIANT_MEMORY_AREA_SIZE

参数描述:存放执行过程中小于256K变量(绑定参数等)的内存区(LARGE VMA)大小,内存区内一页大小为256K。设置后重启生效。

取值范围:数值,[1M, 32T]

默认值:32M

配置建议:安装数据库时,参数可取默认值;升级数据库时,参数建议设置为LARGE_VARIANT_MEMORY_AREA_SIZE = _VARIANT_AREA_SIZE * SESSIONS * 0.2。

说明:

若存在绑定参数过多的场景(比如超过1000)而且执行频繁,建议可适当调大LARGE_VARIANT_MEMORY_AREA_SIZE的值。

_VMP_CACHES_EACH_SESSION

参数描述:每个会话上可缓存16K的VMA内存页数量(256K页面内存不缓存)。当VMA剩余内存不足10%时,部分session不会缓存,尽力保持VMA剩余内存超过10%。设置后立即生效。

取值范围:数值,[0, 4294967295]

默认值:8

配置建议:安装数据库时,参数可取默认值;升级数据库时,参数也可取默认值,但如果_VMP_CACHES_EACH_SESSION * SESSIONS * 16K 远大于VARIANT_MEMORY_AREA_SIZE,建议调低_VMP_CACHES_EACH_SESSION取值,同时考虑到性能问题,建议大于4。

说明:

内存配置不合适,不会影响功能,但会影响性能及OS内存的平稳性(即可能会向OS不停地申请与释放内存)。

LARGE_POOL_SIZE

参数描述:Large pool的大小。

取值范围:整数,[4M,32T],单位为字节。

根据实际内存大小配置,配置较大值可以加速数据访问速度

默认值:32M

LOG_BUFFER_SIZE

参数描述:Log buffer的大小。Log buffer用于缓存Redo日志。

取值范围:整数,[1M,128M],单位为字节。

根据实际内存大小配置,配置较大值可以加速数据访问速度

默认值:4M

LOG_BUFFER_COUNT

参数描述:Log buffer的数量。

取值范围:整数,(0,16]

默认值:4

TEMP_BUFFER_SIZE

参数描述:Temp buffer的大小。

取值范围:整数,[32M,21T],单位为字节。

根据实际内存大小配置,配置较大值可以加速数据访问速度

默认值:32M

TEMP_POOL_NUM

参数描述:Temp pool(即Temp buffer分区)的数量。

每个session启动时根据session id映射到某个Temp pool中,后续该session从这个Temp pool里分配vm page。

取值范围:整数,[1,128]。

默认值:1

USE_LARGE_PAGES

参数描述:设置数据库对SGA内存中大页面的使用方式。

取值范围:

  • TRUE

    指定TRUE后,启用大页面,如果在系统上配置了大页功能,则实例可以使用大页。

  • FALSE

    不启用大页面。不建议使用此设置,因为它可能会导致实例的性能严重下降。

默认值:TRUE

_MAX_VM_FUNC_STACK_COUNT

参数描述:记录TEMP POOL中vmid = 0至_MAX_VM_FUNC_STACK_COUNT-1 的vm申请时的堆栈信息,与视图DV_VM_FUNC_STACK配套使用,当配置为0时,代表不启用。当_MAX_VM_FUNC_STACK_COUNT该参数初始值为0时(启动时),允许在运行期修改一次非0值进行立即生效。否则,都是重启生效。

取值范围:整数,[0, 4294967295]

默认值:0

_SGA_CORE_DUMP_CONFIG

参数描述:设置SGA中哪些内存在数据库core dump时,不记录到core文件中。

取值范围:整数,[0,16383]

默认值:0

下表列出了各内存池及其对应标志,如需将对应的内存池的内存在数据库core dump时不写入core文件,则将_SGA_CORE_DUMP_STACK参数值设置成相应标志值之和。

如data buffer的内存不写入coredump文件中,配置为1。如配置data_buffer、temp_buffer和shared_pool都不写入,则配置1+2+4=7。

配置为0,则SGA中所有内存都记录到core文件中。

内存池

16进制取值

10进制取值

DATA_BUFFER

0x00000001

1

TEMP_BUFFER

0x00000002

2

SHARED_POOL

0x00000004

4

LOG_BUFFER

0x00000008

8

CR_POOL

0x00000010

16

VARIANT_MEMORY_AREA

0x00000020

32

LARGE_VARIANT_MEMORY_AREA

0x00000040

64

LARGE_POOL

0x00000080

128

DBWR_BUFFER

0x00000100

256

TRAN_BUFFER

0x00000200

512

LGWR_BUFFER

0x00000400

1024

INDEX_BUFFER

0x00000800

2048

LGWR_ASYNC_BUF

0x00001000

4096

LGWR_HEAD_BUF

0x00002000

8192

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论