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

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

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

当系统内存不足时,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 总结

以上是内存溢出为你收集整理的当EC2微实例上的ubuntu在内存不足时将其杀死时,自动重启Mysql全部内容,希望文章能够帮你解决当EC2微实例上的ubuntu在内存不足时将其杀死时,自动重启Mysql所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1166325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存