最近弄HTTPS搞得我火气旺,最大的问题就是mysql总是被系统干掉。查看了系统日志后发现了原因,貌似是因为mysql占用的内存太大了,被系统给干掉了。
为什么在开启HTTPS后会出现内存不足,系统杀死进程的情况呢?那是因为,在开启HTTPS访问时会在Apache中新开了一个开放了443端口的虚拟机。
百度了一番发现这篇文章写得不错,应该能解决我的问题,http://www.aikaiyuan.com/5342.html,果断按照文章中的方法进行设置,主要是将mysqld进程设置被系统淘汰的等级,默认是0,设置为-15.
复制
# ps aux | grep mysqld mysql 2196 1.6 2.1 623800 44876 ? Ssl 09:42 0:00 /usr/sbin/mysqld # cat /proc/2196/oom_score_adj 0 # echo -15 > /proc/2196/oom_score_adj /////2196是你的mysql进程pid
然而并没有什么卵用,一个小时不到再次被系统干掉,看了下mysql进程发现几乎占用了所有应用的内存总和,怪不得要干掉它。系统日志如下图:
最后无奈,在不舍得放弃HTTPS的情况下只好升级服务器配置,又多花了300大洋,泪奔中…….
扩大了1G内存。
或者放弃HTTPS,这样就少开一个虚拟机,减少内存消耗。
注:本文建立在服务器上没有其它消耗内存的怪兽情况下进行的,如有,杀掉怪兽一切OK!
评论 (0)