西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > 开发教程 > mysql教程 >

解决MySQL突然占用全部内存的问题

时间:2016-06-20 08:46来源:未知 作者:好模板 点击:
前段时间落格从虚拟主机迁移到了独立的vps上,这下所有的维护内容都得我自己动手了。为了性能,另外既然能自己配环境了,自然不会用旧的配置。 我用了 Ubuntu Server 16.04 + PHP 7.0 +

前段时间落格从虚拟主机迁移到了独立的vps上,这下所有的维护内容都得我自己动手了。为了性能,另外既然能自己配环境了,自然不会用旧的配置。

我用了 Ubuntu Server 16.04 + PHP 7.0 + Nginx + MySQL 5.7 总之,踩了不少的坑。

现在,来记录一下

关于 MySQL 为什么会突然占满内存

一开始我以为是vps遭到了攻击,可是只查看网卡流量就不是这么回事。第一次死机,我以为是配置错误,添加了一大堆缓存,减小了内存配置等等。但好景不长,又死了。

但之前为什么一直没有死机,这是一个迷。

在修复了表、优化了 MySQL 配置等一系列无用功之后,终于定位到了问题所在:

Performance Schema

这是在 5.6 版本中开始默认开启的一项功能,它会在 MySQL 启动之后悄悄占用 400M 左右的内存来加速 MySQL 的运行——对于动辄近百的企业级服务器来说,可能不值一提,但是对于咱们这种屌丝小 vps (我这个 1GB 独立内存算是不错的了)来说,可就要顶了天了!

所以,这大概就是为什么我的服务器最近连续死机两次了。

要关闭 Performance Schema ,在你的 MySQL 配置文件的 [mysqld] 字段添加一句 performance_schema = off

这样,我的数据库就稳定在 300M 内存左右了。

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容