如何避免mysql被oom-killer杀死

首先第一个就是 MySQL 自身内存的规划有问题,这就涉及到 mysql 相应的配置参数。另一个可以想到的原因就是一般部署 MySQL 的服务器,都会部署很多的监控和定时任务脚本,而这些脚本往往缺少必要的内存限制,导致在高峰期的时候占用大量的内存,导致触发 Linux 的 oom-killer 机制,最终 MySQL 无辜躺枪牺...
如何避免mysql被oom-killer杀死
TasKiller可以通过点击程序图标来一键关闭正在运行的程序,也可以通过它来切换程序。长按可查看程序详情,非常的方便。TasKiller可以释放内存,保持Android手机更流畅的运行。俗称“任务终结者”2017-05-25
OOM Killer(Out of Memory Killer) 是当系统内存严重不足时 linux 内核采用的杀掉进程,释放内存的机制。
OOM Killer 通过检查所有正在运行的进程,然后根据自己的算法给每个进程一个 badness 分数,拥有最高 badness 分数的进程将会在内存不足时被杀掉。
它打分的算法如下:
某一个进程和它所有的子进程都占用了很多内存的将会打一个高分。
为了释放足够的内存来解决这种情况,将杀死最少数量的进程(最好是一个进程)。
内核进程和其他较重要的进程会被打成相对较低的分。
上面打分的标准意味着,当 OOM killer 选择杀死的进程时,将选择一个使用大量内存,有很多子进程且不是系统进程的进程。
简单来讲,oom-killer 的原则就是损失最小、收益最大,因此它会让杀死的进程数尽可能小、释放的内存尽可能大。在数据库服务器上,MySQL 被分配的内存一般不会小,因此容易成为 oom-killer 选择的对象。
“既然发生了 OOM,那必然是内存不足,内存不足这个问题产生原因很多。
首先第一个就是 MySQL 自身内存的规划有问题,这就涉及到 mysql 相应的配置参数。
另一个可以想到的原因就是一般部署 MySQL 的服务器,都会部署很多的监控和定时任务脚本,而这些脚本往往缺少必要的内存限制,导致在高峰期的时候占用大量的内存,导致触发 Linux 的 oom-killer 机制,最终 MySQL 无辜躺枪牺牲。”
2020-09-24
mengvlog 阅读 8 次 更新于 2025-07-20 20:14:02 我来答关注问题0
  •  张三讲法 如何优雅地使用Linux系统OOM ( Out Of Memory Killer)

    警告:不建议用于生产环境。假如重启,修改进程优先级,豁免一个进程不足够好,有个风险的选项:将oom killer 功能关闭。这一选项参数将有如下影响:4.1) 严重的内核恐慌kernel panic 4.2) 系统挂住system hang-up 4.3) 一个完整的系统崩溃system crash 为什么关闭有风险呢呢?该功能避免自己因资源而...

  •  阿暄生活 美团一面+腾讯后台二面面经

    针对SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10的查询,面试官询问了优化策略。提到了范围查询和ORDER BY等可能的优化方法,但需注意避免盲目套用原题答案,要结合实际情况进行分析。JVM元空间知识:考察了JVM元空间的概念、大小设置以及类加载过多可能导致的OOM问题。面试官可能进一步追问元空...

  •  手机用户15187 kafkak配置仅允许受信任的JNDI连接如何配置?

    ## socket请求的最大数值,防止serverOOM,message.max.bytes必然要小于socket.request.max.bytes,会被topic创建时的指定参数覆盖 socket.request.max.bytes =100*1024*1024--- LOG 相关 --- ## topic的分区是以一堆segment文件存储的,这个控制每个segment的大小,会被topic创建时的指定参数覆盖 log.segment.bytes =...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部