20.2. 在内存不足状态时,要终止的进程的优先级
您可以优先选择 oom_killer () 函数终止的进程。这样可保证高优先级进程在 OOM 状态期间保持运行。每个进程都有一个目录 /proc/PID。每个目录包括以下文件:
-
oom_score_adj ' - 'oom_score_adj 的有效分数,范围为 -16 到 +15。这个值用于计算进程的性能空间,该算法也考虑了运行进程的时间以及其它因素。 -
oom_score- 包含使用oom_score_adj中的值计算的算法结果。
在内存不足状态下,oom_killer () 函数终止具有最高 oom_score 的进程。
您可以通过编辑进程的 'oom_score_adj ' 文件来对进程终止的优先级。
先决条件
- 知道您要优先级的进程 ID (PID)。
流程
显示进程的当前
oom_score。cat /proc/12465/oom_score 79872
# cat /proc/12465/oom_score 79872Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为进程显示
oom_score_adj的内容。*cat /proc/12465/oom_score_adj * 13
# *cat /proc/12465/oom_score_adj * 13Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
oom_score_adj中的值。*echo -5 > /proc/12465/oom_score_adj *
# *echo -5 > /proc/12465/oom_score_adj *Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
显示进程的当前
oom_score。cat /proc/12465/oom_score 78
# cat /proc/12465/oom_score 78Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 验证显示的值是否低于上一个值。