GBase 8a
运维管理
文章
内存参数分配
发表于2024-12-31 16:48:4253次浏览0个评论
- 内存分配与使用:
- GBase 8a的内存使用由预分配的cell/large/temp和部分直接从系统中申请四部分组成1。
- 预分配的cell/large/temp默认比值为6:3:1,占总物理内存的0.625。默认内存上限为0.8,即从0.625-0.8之间为可使用的系统内存。
- 关键内存参数:
_gbase_insert_malloc_size_limit:控制insert select场景下一次申请内存的大小。默认值为10240,为较优配置。如果insert select中涉及较长的varchar字段,可能会导致内存频繁申请,进而影响性能。推荐取值为最大字符串定义的5倍。gbase_memory_pct_target:最大允许的内存占用比例,默认值为0.8(即80%)。内存总量包括物理内存和SWAP内存。如果超过此比例,SQL可能会返回malloc分配内存失败的错误。gbase_heap_data:热数据缓冲,用于缓冲查询用到的数据,以减少磁盘读写并提高性能。gbase_heap_large:针对算子(如group, join, sort等)操作的专用内存。每个连接允许使用的最大值。gbase_heap_temp:这是一个临时堆,用于加载等需要临时申请空间的操作,也包括智能索引等。
- 内存与性能的关系:
- 合理的内存配置对于GBase 8a的性能至关重要。例如,通过调整
_gbase_insert_malloc_size_limit参数,可以减少内存频繁申请带来的系统CPU占用,从而提高性能。 - 热数据缓冲(
gbase_heap_data)可以减少磁盘IO,提高查询性能。但如果内存不足以容纳所有的热数据,或者频繁访问大表导致现有热数据被换出,则性能可能会下降。
- 合理的内存配置对于GBase 8a的性能至关重要。例如,通过调整
评论
登录后才可以发表评论
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526