Luc*_*nti 11
您可以调整 OOM 杀手,以偏爱某些进程。每个进程都有一个分数,表示在系统在 OOM 情况下运行时该进程被杀死的可能性。您可以在 中查看进程的分数/proc/${PID}/oom_score。您可以使用/proc/${PID}/oom_adj以下方法来偏向 OOM 杀手的决定:高值会增加 OOM 杀手杀死 ${PID} 的可能性。的值oom_adj由子进程继承,因此您只需在启动时在主 apache 进程中设置它(在这种情况下,您应该拥有一个重新启动 apache 的看门狗);另一种方法是将主进程保留在其默认级别并调整每个子进程,以便主进程保持活动状态并根据需要重新生成子进程(在这种情况下,您需要一个外部守护进程来检查新的子进程和曲调oom_adj)。当然,这假设您正在使用多进程工作者 ;-)
请注意,正常范围的oom_adj值(-16,15)只是一个偏差,OOM 杀手的启发式如果其分数足够高,仍然可能会选择另一个过程。特殊值 -17 使进程无法被 OOM 杀手杀死,但它是危险的,因为如果不可杀死的进程(例如你的 DB)变得狂暴,内核可能无法从内存短缺中恢复过来。
| 归档时间: |
|
| 查看次数: |
1235 次 |
| 最近记录: |