微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

防止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耗尽了如此多的内存,以及它是否最适合其他主机或者被重写以消耗更少的内存.

原文地址:https://www.jb51.cc/linux/398653.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐