MySQL大量使用swap文件
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,现象:一台高配的MySQL数据库服务器,双CPU48线程.CentOS 7本机磁盘是一万五千转的Raid 0.系统文件,Swap都分配在了本机磁盘.服务器挂载了一个SSD的磁盘阵列.数据库文件都存放在
千家信息网最后更新 2026年11月01日MySQL大量使用swap文件现象:
一台高配的MySQL数据库服务器,双CPU48线程.
CentOS 7
本机磁盘是一万五千转的Raid 0.系统文件,Swap都分配在了本机磁盘.
服务器挂载了一个SSD的磁盘阵列.数据库文件都存放在磁盘阵列中.
系统运行之后,发现系统Swap大量使用,并且本机磁盘的IO使用率持续100%.
权宜之计:
我把Swap挪到了盘阵中
原因:
swap insanity
NUMA架构
引用:
对于单CPU,多核心的情况,每个核心访问内存的速度是一样的,这种架构称为SMP(Symmetric multiprocessing, 对称多处理器),又叫UMA(Uniform Memory Architecture,与NUMA相对,一致性内存访问架构)。
可以看到,每个CPU都有一组配套的内存槽。每个CPU访问自身的内存插槽,速度都很快,但对于主板上的其他内存插槽,访问速度就会下降。这种架构被称为NUMA。
对于Linux来说,加载的时候就会检测内存,计算CPU到内存的访问开销,将CPU和内存分成一组组的。每个进程和线程,都会继承父进程的NUMA策略,这种策略包括这个进程/线程会在哪个CPU上运行,分配的内存应该用哪组插槽的。
面对内存分配,只要一经分配到指定的CPU-内存槽,就不会再挪动了。对于数据库这类应用,理想情况下是一个单一的多线程进程,吃掉了几乎所有的系统内存,并尽可能多的消耗其余的系统资源例如IO。
对于两个CPU的NUMA架构来说,如果一个核心分配的内存超过系统内存的一半,就会出现问题。而Linux的分配策略是,首先使用CPU 0,然后再使用CPU 1。这时候就会出现一种情况,CPU 0的内存组已经率先使用完了,但系统还有很多空闲内存,都在CPU 1上。这时候,Linux会选择将CPU 0的内存刷到磁盘上,以换取可用内存。但是,swap过程远比跨CPU访问内存要慢啊。这就会造成内存还没用光,但数据库疯狂刷盘的现象了。
参考:
http://www.cnblogs.com/Lifehacker/p/database_swap_insanity_on_Linux.html
https://blog.jcole.us/2010/09/28/mysql-swap-insanity-and-the-numa-architecture/
https://yq.aliyun.com/articles/50933
一台高配的MySQL数据库服务器,双CPU48线程.
CentOS 7
本机磁盘是一万五千转的Raid 0.系统文件,Swap都分配在了本机磁盘.
服务器挂载了一个SSD的磁盘阵列.数据库文件都存放在磁盘阵列中.
系统运行之后,发现系统Swap大量使用,并且本机磁盘的IO使用率持续100%.
权宜之计:
我把Swap挪到了盘阵中
原因:
swap insanity
NUMA架构
引用:
对于单CPU,多核心的情况,每个核心访问内存的速度是一样的,这种架构称为SMP(Symmetric multiprocessing, 对称多处理器),又叫UMA(Uniform Memory Architecture,与NUMA相对,一致性内存访问架构)。
可以看到,每个CPU都有一组配套的内存槽。每个CPU访问自身的内存插槽,速度都很快,但对于主板上的其他内存插槽,访问速度就会下降。这种架构被称为NUMA。
对于Linux来说,加载的时候就会检测内存,计算CPU到内存的访问开销,将CPU和内存分成一组组的。每个进程和线程,都会继承父进程的NUMA策略,这种策略包括这个进程/线程会在哪个CPU上运行,分配的内存应该用哪组插槽的。
面对内存分配,只要一经分配到指定的CPU-内存槽,就不会再挪动了。对于数据库这类应用,理想情况下是一个单一的多线程进程,吃掉了几乎所有的系统内存,并尽可能多的消耗其余的系统资源例如IO。
对于两个CPU的NUMA架构来说,如果一个核心分配的内存超过系统内存的一半,就会出现问题。而Linux的分配策略是,首先使用CPU 0,然后再使用CPU 1。这时候就会出现一种情况,CPU 0的内存组已经率先使用完了,但系统还有很多空闲内存,都在CPU 1上。这时候,Linux会选择将CPU 0的内存刷到磁盘上,以换取可用内存。但是,swap过程远比跨CPU访问内存要慢啊。这就会造成内存还没用光,但数据库疯狂刷盘的现象了。
参考:
http://www.cnblogs.com/Lifehacker/p/database_swap_insanity_on_Linux.html
https://blog.jcole.us/2010/09/28/mysql-swap-insanity-and-the-numa-architecture/
https://yq.aliyun.com/articles/50933
内存
系统
磁盘
分配
架构
数据
数据库
线程
进程
情况
核心
策略
速度
插槽
本机
文件
服务器
现象
磁盘阵列
阵列
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技
科技互联网
广东猪兼强互联网科技有限公司
广州万易互联网科技有限公司
互联网为科技
互联网与科技发展
科技信息互联网
未来的互联网科技
狮子座互联网科技有限公司
汇久创客互联网科技
互联网金融科技委员会
天扬科技互联网广告
丰台科技园 互联网公司
深圳卡尔迅互联网科技有限公司怎么样
佩信高科技互联网
互联网和高科技公司
欧洲十大科技互联网公司
深圳艾果互联网通讯科技
互联网科技资金流入
互联网科技自媒体灵感
奇酷互联网科技公司
互联网科技公司名称
互联网之后的科技是什么
河南住房之家互联网科技
特约风豹互联网科技为什么扣费
互联网数据科技专业
世界互联网领先科技成果获奖
华中科技大学互联网的牛人
每天都有哪些好的互联网科技
国产互联网科技公司