阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

NUMA导致的MySQL服务器SWAP问题分析与解决方案

397次阅读
没有评论

共计 1488 个字符,预计需要花费 4 分钟才能阅读完成。

【SWAP 产生原理】

先从 swap 产生的原理来分析,由于 linux 内存管理比较复杂,下面以问答的方式列了一些重要的点,方便大家理解:

 1、swap 是如何产生的

swap 指的是一个交换分区或文件,主要是在内存使用存在压力时,触发内存回收,这时可能会将部分内存的数据交换到 swap 空间。

 2、内存回收的机制

<1>Linux 内核使用 cache 对部分文件进行缓存,提升文件读写效率。所以 引入了 kswapd 进程进行周期性检查,保证剩余内存空间。

<2> 当内存分配没有足够的空间时,直接内存回收。

 3、内存回收如何实现

这部分实现非常复杂,简单来说,内存回收操作主要针对内存的文件页和匿名页,这些页都通过 LRU 链表来管理。

其中 anon 的匿名页内存主要回收手段是 swap,文件页释放方式是写回和清空。

4、讲几个重要的概念

<1> 内存节点 node,在 NUMA 的情况下,CPU 访问不同位置的内存,会有本地内存和远端内存之分,这两个就是不同的节点。

<2> 内存分区 zone,linux 对内存节点做了进一步划分,将一个节点划分为不同的区。内存管理的逻辑以 zone 为单位。

<3> 内存水位标记,分为 high、low、min

通过下图可以比较直观的了解

NUMA 导致的 MySQL 服务器 SWAP 问题分析与解决方案

5、内存回收行为

<1> 当系统剩余内存低于 low 时,kswapd 开始起作用进行内存回收,直到内存达到 high 水位。

<2> 当剩余内存达到 min 时就会触发直接回收。

<3> 当触发全局回收,并且 file+free<=high 时,一定会进行针对匿名页的 swap。

下面举例:

在数据库做全备份时 cache 大量使用,剩余可用空间不足,触发内存回收,

 NUMA 导致的 MySQL 服务器 SWAP 问题分析与解决方案

上图是 /proc/zoneinfo 的部分内容,可以看到满足了 file+free<=high 的条件,同一时间触发了 swap,将内存匿名页的数据写入交换区

 NUMA 导致的 MySQL 服务器 SWAP 问题分析与解决方案

有大量的文件页 cache,为什么会出现 file+free<=high 的情况,分析下来全备文件缓存时,node 0 的 nr_inactive_file 很低,大部分非活动的文件页都分布在 node 1 上,是由于开启 NUMA 导致的。

 

【关闭 NUMA 的方案】

1、在 MySQLd_safe 脚本中加上“numactl –interleave all”来启动 mysqld

2、Linux Kernel 启动参数中加上 numa=off,需要重启服务器

3、在 BIOS 层面关闭 NUMA

4、MySQL 5.6.27/5.7.9 开始引用 innodb_numa_interleave 选项

 

对于 2、3、4 关闭 NUMA 的方案比较简单,不做详细描述,下面重点描述下 1 方案

 

【开启 numa interleave 访问的步骤】

1、yum install numactl -y

2、修改 /usr/bin/mysqld_safe 文件

cmd=”`mysqld_ld_preload_text`$NOHUP_NICENESS” 下新增一条脚本

cmd=”/usr/bin/numactl –interleave all $cmd”

NUMA 导致的 MySQL 服务器 SWAP 问题分析与解决方案

3、service mysql stop

4、# 写入硬盘,防止数据丢失

sync;sync;sync

5、# 延迟 10 秒

sleep 10

6、# 清理 pagecache、dentries 和 inodes

sysctl -q -w vm.drop_caches=3

7、service mysql start

8、验证 numactl –interleave all 是否生效,可以通过下面命令,interleave_hit 是采用 interleave 策略从该节点分配的次数,没有启动 interleave 策略的服务器,这个值会很低

numastat -mn -p `pidof mysqld`

NUMA 导致的 MySQL 服务器 SWAP 问题分析与解决方案

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1488字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7804114
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...