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
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
相关文章推荐
- MySQL中distinct和group by过滤删除重复行
- mysql修改数据库编码字段编码
- 如何配置logback使日志输出到mysql数据库
- 配置MySQL使用HugePages
- mysql数据库复制
- 安装MySQL的辛酸历程
- MYSQL主从配置以及客户端代码实现读写分离功能
- Can't connect to local MYSQL server through socket /var/lib/mysql/mysql.sock
- PostgreSQL与MySQL比较
- sql mysql和sqlserver存在就更新,不存在就插入的写法(转)
- ubuntu mysql5.5 修改最大链接数
- MySQL InnoDB MVCC实现原理
- Mysql的全文索引为什么不支持中文
- mysql group by 无数据补0 方法
- Mysql5.6主从复制
- 数据库MySQL2 存储过程 事务
- MySql空间查询
- mysql自定义函数
- mysql中批量修改所有数据表的格式为utf8
- mysql语句与sql语句的部分对比