您的位置:首页 > 数据库 > MySQL

MySQL避免使用swap分区的方法

2015-09-15 17:49 543 查看
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模式。Innodb的buffer
pool会直接绕过文件系统cache来访问磁盘,但是redo log依旧会使用文件系统cache。Redo log是覆写模式的,即使使用了文件系统的cache也不会占用太多。
3.添加MySQL配置参数memlock。将MySQL锁定在内存中防止被swapping
out。

本文出自 “燕雀安知鸿鹄之志哉” 博客,请务必保留此出处http://who0168.blog.51cto.com/253401/522508
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: