当EC2微实例上的ubuntu在内存不足时将其杀死时,自动重启Mysql

当系统内存不足时,ubuntu 12.04会终止 mysql进程: Out of memory: Kill process 17074 (mysqld) score 146 or sacrifice child 所以这个过程最终被杀死了. 这发生在服务器负载的高峰期,主要是因为apache变得疯狂并且吃剩余的可用内存.可能的方法可能是: 以

当系统内存不足时,ubuntu 12.04会终止
mysql进程:

Out of memory: Kill process 17074 (mysqld) score 146 or sacrifice child

所以这个过程最终被杀死了.
这发生在服务器负载的高峰期,主要是因为apache变得疯狂并且吃剩余的可用内存.可能的方法可能是:

>以某种方式改变mysql的优先级,所以它没有被杀死(可能是一个糟糕的修复,因为其他东西将被杀死)
>监视mysql的状态,并在它被杀死时自动重启(我正在思考的那个,但不知道该怎么做).

你怎么看?

突然终止数据库服务器是一个非常严重的崩溃.您需要在生产系统中避免这种情况,因为它可能无法干净地重新启动.

数据库服务器是一个共享资源,几乎不应该在生产中以非计划的方式终止.应该导致意外终止的唯一因素是灾难性的硬件或电源故障.大多数配置正确的生产数据库服务器每十年或更少一次具有计划外终止.认真.

该怎么办?

修复您的apache配置.限制它可以使用的工作线程和进程的数量,因此它无法运行.学习如何做到这一点.这至关重要.见:http://httpd.apache.org/docs/current/mod/mpm_common.html#maxrequestworkers

修复您的Web应用中导致您的Apache疯狂运行的缺陷.

如果可以的话,将mysqld服务器从apache移到另一台服务器上,这样两者就不会争用相同的硬件资源.

配置mysqld以限制它将从apache工作线程或其他客户端接受的连接数.您的Web应用程序可能会处理工作线程需要等待连接的情况.看这里. http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_connections

你是EC2微型实例吗?你需要做一些认真的调整.见:http://ubuntuforums.org/showthread.php?t=1979049

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部