MySQL 和Swap Memory

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介:
Swap memory是操作系统在物理内存不够的时候使用磁盘保存一部分虚拟内存空间,具体哪部分内存被交换到磁盘对于应用程序来说是完全不知道的,所以一旦MySQL所使用的内存空间被交换到磁盘,会严重影响MySQL的性能. 

在GNU/Linux操作系统,你可以通过vmstat察看是否有Swap Memory 在被使用. 

如果发现操作系统已经开始使用Swap Memory,建议以下两种方法来解决: 

1 Linux操作系统可以通过配置文件/proc/sys/vm/swappiness来调节操作系统使用Swap Memory的程度,在这个文件中保存的是一个数字,默认60, 值越小则操作系统会尽可能不使用Swap Memory.可以将值设为0,这样操作系统知会在迫不得已的情况下才使用Swap Memory. 

Java代码   收藏代码
  1. $cat /proc/sys/vm/swappiness  
  2. 60  
  3. $echo 0 > /proc/sys/vm/swappiness  


为了能够让这个配置在系统重启之后继续生效,需要修改/etc/sysctl.conf加入vm.swappiness=0 

2 对于InnoDB引擎,可以添加配置: 

innodb_flush_method=O_DIRECT 

来实现直接I/O读写.这样操作系统就不需要不断增加磁盘缓冲,避免使用Swap Memory 

另外MySQL还有一个参数memlock能够强制MySQL只使用物理内存.但风险是如果真的没有内存会导致MySQL强制退出.

http://oliver-peng.iteye.com/blog/543693



本文转自 liang3391 51CTO博客,原文链接:http://blog.51cto.com/liang3391/732163

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 缓存 关系型数据库
关系型数据库MySQL的Memory (HEAP)
【6月更文挑战第17天】
27 4
|
2月前
|
存储 关系型数据库 MySQL
MySQL数据库——存储引擎(2)-存储引擎特点(InnoDB、MyISAM、Memory)、存储引擎选择
MySQL数据库——存储引擎(2)-存储引擎特点(InnoDB、MyISAM、Memory)、存储引擎选择
39 1
|
3月前
|
存储 关系型数据库 MySQL
MySQL存储引擎 InnoDB、MyISAM、Memory存储引擎的特点与区别
MySQL存储引擎 InnoDB、MyISAM、Memory存储引擎的特点与区别
75 0
|
3月前
|
存储 关系型数据库 MySQL
⑩【MySQL】存储引擎详解, InnoDB、MyISAM、Memory。
⑩【MySQL】存储引擎详解, InnoDB、MyISAM、Memory。
59 0
|
运维 关系型数据库 MySQL
找到MySQL服务器发生SWAP罪魁祸首
找到MySQL服务器发生SWAP罪魁祸首
323 0
找到MySQL服务器发生SWAP罪魁祸首
|
存储 关系型数据库 MySQL
|
运维 关系型数据库 MySQL
找到MySQL服务器发生SWAP罪魁祸首
找到MySQL服务器发生SWAP罪魁祸首
找到MySQL服务器发生SWAP罪魁祸首
|
存储 缓存 关系型数据库
|
关系型数据库 MySQL Linux