千家信息网

MySQL5.7关闭NUMA方法

发表于:2025-11-19 作者:千家信息网编辑
千家信息网最后更新 2025年11月19日,非一致存储访问结构 (NUMA : Non-Uniform Memory Access) 也是最新的内存管理技术。它和对称多处理器结构 (SMP : Symmetric Multi-Processor
千家信息网最后更新 2025年11月19日MySQL5.7关闭NUMA方法非一致存储访问结构 (NUMA : Non-Uniform Memory Access) 也是最新的内存管理技术。它和对称多处理器结构 (SMP : Symmetric Multi-Processor) 是对应的。

MySQL在NUMA架构上会出现的问题:
1).CPU规模因摩尔定律指数级发展,而总线发展缓慢,导致多核CPU通过一条总线共享内存成为瓶颈
2).于是NUMA出现了,CPU平均划分为若干个Chip(不多于4个),每个Chip有自己的内存控制器及内存插槽
3).CPU访问自己Chip上所插的内存时速度快,而访问其他CPU所关联的内存(下文称Remote Access)的速度相较慢三倍左右
4).于是Linux内核默认使用CPU亲和的内存分配策略,使内存页尽可能的和调用线程处在同一个Core/Chip中
5).由于内存页没有动态调整策略,使得大部分内存页都集中在CPU 0上
6).又因为Reclaim默认策略优先淘汰/Swap本Chip上的内存,使得大量有用内存被换出
7).当被换出页被访问时问题就以数据库响应时间飙高甚至阻塞的形式出现了


因此MySQL单机单实例,建议关闭NUMA,关闭的方法有三种:
1.硬件层,在BIOS中设置关闭;
2.OS内核,启动时设置numa=off;
3.可以用numactl命令将内存分配策略修改为interleave(交叉)

登录Linux系统,修改/etc/init.d/mysqld文件,加上numactl --interleave all
vi /etc/init.d/mysqld
找到如下行
# Give extra arguments to mysqld with the my.cnf file. This script
# may be overwritten at next upgrade.
$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?


将$bindir/mysqld_safe --datadir="$datadir"这一行修改为:
/usr/bin/numactl --interleave all $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?


然后重启MySQL服务.
#service mysqld restart

内存 策略 内核 总线 结构 速度 问题 分配 发展 方法 亲和 缓慢 一行 下文 单机 命令 处在 处理器 大部分 定律 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库原理与应用数据字典 初始状态下服务器的管理员密码 去年单招网络安全卷子 录播服务器技术参数 浦东新区多功能软件开发 数据库和软件分离吗 河北大数据网络技术服务商家 未来10年网络安全市场 网络技术在教学活动的应用 触犯网络安全法还能不能解封 fpga服务器安装开发环境 jpa非数据库注解 广州前沿软件开发有限公司 土豆服务器怎样使用 传统数据库的主要技术特点有哪些 供应无线串口服务器 我的世界最大的服务器 sass平台数据库设计 数据库表之间的关系查看 战地五中文服务器名 数据库长串数据怎么换算时间 网络安全登记保护条例 计算机网络技术专业的优势和劣势 软件开发与数据分析 设备服务器的管理方式有哪些 同时向数据库同一张表 计算机网络技术春考本科招生院校 网络安全标书专员工作内容 做好自身网络安全措施 津南区企业网络技术不二之选
0