13.3. 以内存不足状态时终止进程以终止
您可以对通过 oom_killer 功能终止的进程排列。这样可保证高优先级进程在 OOM 状态保持运行。每个进程都有一个目录 /proc/PID。每个目录都包括以下文件:
-
oom_adj-oom_adj有效的分数位于 -16 到 +15 范围。这个值用于计算进程的性能占用空间,使用一种算法来考虑进程运行的时间(其他因素除外)。 -
oom_score- 包含使用oom_adj中的值计算的算法结果。
在内存不足状态中,oom_killer 功能以最高的 oom_score 终止进程。
您可以通过编辑进程的 oom_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_adj的内容。cat /proc/12465/oom_adj 13
# cat /proc/12465/oom_adj 13Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
oom_adj的值。echo -5 > /proc/12465/oom_adj
# echo -5 > /proc/12465/oom_adjCopy 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 - 验证显示的值是否小于前面的值。