软硬件问题
1 NUMA 参数 zone_reclaim_mode 开启导致数据库
性能低
问题现象
NUMA 参数 zone_reclaim_mode 在设置为 1 时,内核将要求多路 CPU 尽量从距离
较近的系统内存节点(服务器的整体内存在 numa 架构下将被分成若干个节点)
分配内存而不是在整个服务器可访问内存的范围内进行内存分配,因此在较高内
存占用压力下内存申请会触发内存频繁回收整理的机制严重影响了系统整体性能
(长期处于内核态 sys 很高)。
另外还会发生部分 SQL 夯住,从 dmesg 日志的堆栈信息中表现为出现
kmem_zone_alloc 调用。
处理步骤
NUMA 参数关闭。
判断是否开启:cat /proc/sys/vm/zone_reclaim_mode
0:关闭,1:开启
查看各 cpu 间的 distance:numactl--hardware
如各 CPU 的 distance > 20 (通讯耗时),则建议开启 NUMA 参数。
关闭方式:
1) vim /etc/sysctl.conf 添加 vm.zone_reclaim_mode=0 并执行 sysctl–p
2) sysctl-w vm.zone_reclaim_mode=0
2 redhat 修改 max_user_processes 非 root 用户不生效