MySQL性能优化之swap占用高
2015-12-09 11:21
1201 查看
1、/proc/sys/vm/swappiness的内容改成0(临时),/etc/sysctl.conf上添加vm.swappiness=0(永久)
这个参数决定了Linux是倾向于使用swap,还是倾向于释放文件系统cache。在内存紧张的情况下,数值越低越倾向于释放文件系统cache。
当然,这个参数只能减少使用swap的概率,并不能避免Linux使用swap。2、修改MySQL的配置参数innodb_flush_method,开启O_DIRECT模式。
这种情况下,InnoDB的buffer pool会直接绕过文件系统cache来访问磁盘,但是redo log依旧会使用文件系统cache。值得注意的是,Redo log是覆写模式的,即使使用了文件系统的cache,也不会占用太多。3、添加MySQL的配置参数memlock
这个参数会强迫mysqld进程的地址空间一直被锁定在物理内存上,对于os来说是非常霸道的一个要求。必须要用root帐号来启动MySQL才能生效。4. 把mysql的一些参数调整小一点
比如key_buffer_size,innodb_buffer_pool_size ,innodb_buffer_pool_size=4G 一般设置物理内存的50%-70%
这个参数决定了Linux是倾向于使用swap,还是倾向于释放文件系统cache。在内存紧张的情况下,数值越低越倾向于释放文件系统cache。
当然,这个参数只能减少使用swap的概率,并不能避免Linux使用swap。2、修改MySQL的配置参数innodb_flush_method,开启O_DIRECT模式。
这种情况下,InnoDB的buffer pool会直接绕过文件系统cache来访问磁盘,但是redo log依旧会使用文件系统cache。值得注意的是,Redo log是覆写模式的,即使使用了文件系统的cache,也不会占用太多。3、添加MySQL的配置参数memlock
这个参数会强迫mysqld进程的地址空间一直被锁定在物理内存上,对于os来说是非常霸道的一个要求。必须要用root帐号来启动MySQL才能生效。4. 把mysql的一些参数调整小一点
比如key_buffer_size,innodb_buffer_pool_size ,innodb_buffer_pool_size=4G 一般设置物理内存的50%-70%
相关文章推荐
- mysqlslap
- MySQL C API函数大全
- Srping Mybatis Mysql the last packet sent successfully
- sysbench 测试MYSQL
- mysql中varchar最长多少
- MySQL中对表连接查询的简单优化教程
- MySQL中使用SQL语句查看某个表的编码
- MySQL的LEFT JOIN表连接的进阶学习教程
- MySQL各个版本的区别
- Mysql重置root用户密码(windows)
- MySQL查看并修改当前数据库编码
- MySQL主从复制
- 如何写出高质量、高性能的MySQL查询
- mysql基础——(navicat)导出数据库的所有表结构
- 将MySQL查询结果按值排序的简要教程
- MySQL初步研究数据库
- 日常工作中常见的mysql优化技巧
- mysql压力测试
- Mysql innodb 支持安装配置
- MySQL索引类型总结和使用技巧以及注意事项