3.1 服务器发生大量系统 CPU 占用问题的原因
问题现象
数据库在运行过程中,因为某些原因出现大量的 CPU sys 占用,进而导致数据库性
能问题。这类问题应该如何去排查?有哪些已知的原因可能导致这类问题的发生?
解决方法
通常大量的系统 CPU 占用是由于资源争抢导致的,如锁资源的争抢、内存的争抢。
用于监控、分析的工具有 perf 、 nmon 等。
GBase 8a MPP Cluster 出现 sys 占用高的几个已知问题原因有:
操作系统的 NUMA 参数未关闭,在内存紧张情况下可能导致频繁的内存换入
换出导致 sys 高。
gnode 层的参数设置不合理
_gbase_dc_window_size 设置过小,该参数是可缓存到内存的 DC 数,当需要缓
存的实际数据量超过设置的 DC 数时,就可能导致 sys 占用。
_gbase_insert_malloc_size_limit 设置过小
在 insert select 场景中,如果存在较大的 varchar 列,如 varchar(2000) ,会导致
每行或每几行申请一次内存,内存频繁申请出现 sys 占用。
3.2 NUMA 参数 zone_reclaim_mode 开启导致数据库性
能低
问题现象
NUMA 参数 zone_reclaim_mode 在设置为 1 时,内核将要求多路 CPU 尽量从距离
较近的系统内存节点(服务器的整体内存在 numa 架构下将被分成若干个节点)分
配内存而不是在整个服务器可访问内存的范围内进行内存分配,因此在较高内存占
用压力下内存申请会触发内存频繁回收整理的机制严重影响了系统整体性能(长期
处于内核态 sy
GBase 8a MPP使用时 数据库基础问题之硬件问题
最新推荐文章于 2024-05-05 21:29:04 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)