Blog

MySQL 死亡的苦恼

自从一次升级后,我的 VPS 就一直不大稳定。情况是,一些用到 MySQL 的应用常常发生丢失数据库链接错误,比如 WordPress 和 Fever。那段时间我很苦恼,因为我的博客常常不能访问,而我通过 Reeder 来访问 Fever 里的数据,每次刷新时,2 秒钟之内完事儿,数据也没有更新。几次后,我发现这些都是因为 MySQL 进程不知不觉被杀死了的缘故。

怎么回事?因为发生这个故障实在我升级了 MySQL 之后,我觉得是不是 MySQL 的问题。我过了一遍配置文件,把一些限制的地方都调低了,也没解决。是不是 MySQL 本身有问题?我 apt-get 升级了好几次,看 MySQL 都迭代了几个新版本了,也没有改善这个情况。我想会不会是 WordPress 的事儿?于是我安装了 Memcached,觉得这样就减少了使用 MySQL 的次数吧,应该可以解决?最后还是没有。

近期没有什么经历,于是就这么靠着。发现博客无法访问了,或者 Reeder 刷新时 2 秒钟完事儿,我就上后台重启一下 MySQL,或者嫌麻烦干脆重启 VPS,也能解决一段时间的问题。

后来我在 LISH 后台看到了一些输出,意思是内存不足了,于是杀死了 MySQL 进程。我想这就是问题原因,不过不清楚是为什么。

这周二,我有一次遇到了这个问题,觉得挺烦,于是有搜索了一下。这次找到了更多的信息。通过查看 /var/log/kern.log,我看到了更多信息,明确表示了是 php5-cgi 引发了 oom-killer,也就是说是 PHP 占用了太多的内存,导致了 MySQL 被杀死。于是我走了一遍 PHP 的配置文件,把里面的一些限制都调低,一直到现在也没有出现问题。

没有评论

Leave a Reply