加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

防止Linux的OOM在我们的网络服务器上杀死apache

发布时间:2020-12-13 16:47:53 所属栏目:Linux 来源:网络整理
导读:我们有一个debian linux webserver.它只是运行apache2.我们的 mysql服务器在另一台主机上.但是,我们有时会在Web服务器上运行cron任务来执行常规任务. 然而,最近其中一个cron任务有一个bug并开始吞噬内存. Linux OOM杀手杀死了apache.这当然会打倒我们的网站.
我们有一个debian linux webserver.它只是运行apache2.我们的 mysql服务器在另一台主机上.但是,我们有时会在Web服务器上运行cron任务来执行常规任务.

然而,最近其中一个cron任务有一个bug并开始吞噬内存. Linux OOM杀手杀死了apache.这当然会打倒我们的网站.记忆饥渴的cron一直在奔跑.但是在这种情况下,我希望OOM杀手杀死那个脚本,而不是apache.

有没有办法配置内核,以便我可以说不要杀死名为’apache2’的进程(或者至少让apache2成为它杀死的最后一件事)? apache和常规crons都以同一个用户(www-user)运行.

解决方法

通过实际调试为什么这个cron作业耗尽了这么多内存,听起来并不像是在解决问题的根本原因.

您可以尝试设置此选项

echo 1>的/ proc / sys目录/ VM / oom_kill_allocating_task

这将告诉OOM杀手杀死触发OOM条件的进程,但这不能保证是你的cron工作.您还可以在脚本中使用“ulimit -m”来设置要使用的最大驻留内存量.我认为你最好的选择是评估为什么cronjob耗尽了如此多的内存,以及它是否最适合其他主机或者被重写以消耗更少的内存.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读