前不久因启用https访问,导致多开了一个虚拟机,而本站所使用的小服务器也应承受不住这份压力,出现频繁杀死占据内存最大的应用数据库mysql。之前在网络上找到一篇文章说修改mysql被系统杀死的优先级可以解决这个问题,我照做之后确实起到了一定作用,但没过几天又出现了这个问题。被逼无奈之下只好增加了一倍的内存,花了我几张毛爷爷。然而好日子没长久,升级后一个多星期后又出现这个问题了,我真是毕了狗,终端连接上后free -m 后发现2G内存居然只剩下120M左右,真是无语。
使用top命令后查看到占用内存最大的应用排行中mysqld进程果然占据着第一位,还有,这一片httpd的Apache进程是什么鬼…….
百度一番后发现不止我一人出现这个问题,最终找到了解决方案,打开mysql的配置文件my.conf修改配置如下。
原因是mysql5.6的默认设置会使得mysqld进程占据的内存至少达到400M…….真是哔了狗了。听说上面的配置能降低到40M,实际上第一幅图就是修改配置后的结果,仍然占据着800M左右的内存!!!都是一群骗子!不过确实内存多了一些,但是…..为什么内存在不断的上升???
暂且不管这个问题,下一个问题,httpd进程为什么会这么多?百度后知道是使用了默认设置,Apache没有限制httpd子进程的数量,修改httpd.conf配置文件如下
这是我修改多次,适用于我自己网站的,写大了也是浪费,反正我网站也没几个人来看。
总结下:折腾一番后发现内存问题依然存在,但比之前要好很多,基本可以满足目前需要了。
评论 (0)