MySQL避免使用swap分区的方法

45 篇文章 1 订阅

MySQL避免使用swap分区的方法

SWAP是操作系统虚拟出来的一部分内存地址,它的物理存储元件是磁盘。在备份数据或恢复数据时,文件系统会向Linux系统请求大量的内存作为cache。在物理内存使用殆尽时候,为了确保程序运行,往往会将另外的一些占用物理内存地址空间的程序映射到swap分区上。

MySQL程序运行时,物理内存为MySQL分配了大量的物理地址空间,以提高执行的速率。为了避免在执行消耗大量内存的操作时将MySQL所拥有的部分物理内存地址空间映射到swap分区上,可做一下调整:

1.修改系统内核参数/proc/sys/vm/swappiness。调整系统使用swap分区的倾向性,数值越低越倾向于释放文件系统的cache,不能避免Linux系统时候swap分区。  swappiness=0表示最大限度使用物理内存,然后才是swap分区。

swappiness=100表示积极使用swap分区,并且将内存上的数据及时的映射到swap分区上。

2.修改MySQL参数innodb_flush_method,开启O_DIRECT模式。Innodbbuffer pool会直接绕过文件系统cache来访问磁盘,但是redo log依旧会使用文件系统cacheRedo log是覆写模式的,即使使用了文件系统的cache也不会占用太多。

3.添加MySQL配置参数memlock。将MySQL锁定在内存中防止被swapping out

 

本文出自 “燕雀安知鸿鹄之志哉” 博客,请务必保留此出处http://who0168.blog.51cto.com/253401/522508

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值