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
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机MySQL5.7关闭NUMA方法
数据库2024-04-02
mongodb关闭方法
数据库2024-04-02
关闭redis的方法
数据库2024-04-02
win8如何关闭defender? win8关闭defender方法
数据库2023-06-06
关于MySQL关闭SSL的方法
数据库2023-09-09
关闭mysql server的方法
数据库2024-04-02
windows关闭端口方法
数据库2023-09-20
php关闭标签的方法
数据库2023-06-14
javascript窗口的关闭方法
数据库2023-06-14
php中curl的关闭方法
数据库2023-06-15
javascript关闭网页的方法
数据库2023-06-14
MySQL关闭SSL的简单方法
数据库2023-02-10
php关闭notice警告的方法
数据库2023-06-06
win10关闭账户同步方法
数据库2023-06-10
mysql关闭服务器的方法
数据库2024-04-02
php关闭warning警告的方法
数据库2023-06-08
关闭win10启动项的方法
数据库2023-07-10
linux关闭php服务的方法
数据库2023-06-14
Go关闭goroutine协程的方法
数据库2023-07-06
MYSQL关闭SSL的方法分享
数据库2023-10-23
咦!没有更多了?去看看其它编程学习网 内容吧