前段时间落格从虚拟主机迁移到了独立的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 内存左右了。 (责任编辑:好模板) |