GBase 8a内存参数优化(二)

淘汰 unlock 状态的热数据 DC 参数设置

_gbase_cache_drop_hot_data

_gbase_cache_drop_hot_data 参数为开关参数,增加了一种 DC Cache 淘汰管理策略,允许释放 unlock 状态的 DC 数据而不用考虑该数据是否属于热数据(被多次使用的数据)。该参数默认取值为 0,建议设置为 1,即允许清除 unlock 状态的热数据。

表缓存

table_definition_cache

用于保存表定义,也就是 frm 内容,是 table_share 的 cache 大小。默认取值 512,建议调整为 5120。

table_open_cache

用于保存 TABLE 的 cache 大小。

table_open_cache 用于保存 TABLE 的 cache 大小,默认取值 512,建议调整为1280;

table_open_cache 及 table_definition_cache 这两个参数默认取值情况下,可能会出现存储过程执行报错“Prepared statement needs to be re-prepared”。

在一些需要打开大量表的环境中,如在使用分区表的情况下,每个表分区都是一个表对象,相比于非分区表会需要更多的 cache 空间。

_gbase_express_table_limit

用于当 express 引擎缓存的表个数大于该值时,回收表元数据所占内存

_gbase_express_table_metadata_limit

用于当 express 引擎缓存的表元数据字节大于该值时,进行回收,当设置为 0 时,该值使用 gbase_temp_heap_size/2

_gbase_express_table_clear_rate

表示每次清理 express 缓存的表元数据时,清理的比例。(表个数或者表元数据大小)

内存堆

gbase_heap_data

主要设计用途是缓存数据,应分配最多的内存

gbase_heap_large

用于算子计算时使用

gbase_heap_temp

用来分配元数据和较为琐碎的和小块儿的临时内存

gbase_memory_pct_target

设置内存的可用比例,默认 0.8。当以上三个堆(heap_data、heap_large、heap_temp)分配的内存合计达到总内存 0.8 比例之后再申请内存则报错。

默认总内存中三个堆的比例为:

heap_data:heap_large:heap_temp 6:3:1

_gbase_memory_use_swap

表示使用 gbase_memory_pct_target 计算时,是否考虑 swap 的大小。

952.43 版本及以上和 953.26 版本及以上有该参数。

_gbase_memory_turn_to_heap

表示之前一些从系统内存分配的是否要改为从堆上分配,此功能是为了解决内存限制不住的问题,但是必然会增加堆内存不够用的风险。

952.43 版本及以上和 953.26 版本及以上有该参数。

默认系统内存分配改为从堆上分配。

综述说明

参数下限

gbase_heap_data >= 512MB

gbase_heap_large >= 256MB

gbase_heap_temp >= 256MB

参数上限

(gbase_heap_data + gbase_heap_large + gbase_heap_temp ) <= total memory * gbase_memory_pct_target

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值