#mysql#Out of memory: Kill process or sacrifice child

问题原因

刚刚网站所在的数据库挂掉了, 给阿里提了工单后, 阿里工程师建议查看一下系统日志, 发现如下:

Jun 9 16:47:41 www kernel: Out of memory: Kill process 1007 (mysqld) score 68 or sacrifice child
Jun 9 16:47:41 www kernel: Killed process 1007, UID 497, (mysqld) total-vm:767096kB, anon-rss:130692kB, file-rss:332kB

这个是什么问题呢, 在网上搜索一下, 找到文章如下:

Out of memory: Kill process or sacrifice child – Plumbr https://plumbr.eu/blog/memory-leaks/out-of-memory-kill-process-or-sacrifice-child

5.4. Capacity Tuning https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-memory-captun.html

 


解决

阿里工程师:

内核挑选杀掉进程的过程由 oom_badness() 决定,挑选的算法和想法都很简单很朴实:最 bad 的那个进程就是那个最占用内存的进程。

服务器的内存使用不够,系统会自动把当前内存占用较高的程序杀掉,mysql占用的内存大,所以会被系统杀掉。


 

那两篇文章有空我会将中文大概说一下, 还蛮有意思的.

 

最后

贊下阿里服务, 还蛮快的, 发布工单说数据被删后, 电话就打过来了, 整个处理过程也可以.

国内的有这样的服务, 确实真的不错.

 

 

发表评论

电子邮件地址不会被公开。