看门狗是什么?看门狗怎么找出占用内存较大且较不重要的进程?

时间:2021-04-26 13:44:06       来源:IT之家

索尼工程师向 Linux 内核 LKML提交了一份邮件,邮件中提出了一种新的看门狗(Watchdog)软件,可优化设备内存不足的解决方案。

看门狗软件是一种监控程序,可定时查看设备的运行状况,当遇到不可恢复的错误时,就发出重启信号来解决问题,在软件中具有最高优先级。

邮件中指出,新的看门狗将不会执行硬重启,而是采取 "预先定义的操作" 来尝试杀掉不重要的进程,该方法采用了对 "oom_score_adj" 监控来执行相应操作,看门狗会杀死具有最高 "oom_score_adj" 的进程。

"oom_score" 是 Linux 内核分配给每个运行中的进程的分数,数字越大则表示该进程的内存使用越高,而 "oom_score_adj" 是在 -1000 到 1000 之间的数字,数字越大意味着该进程越不重要。

当 "oom_score" 和 "oom_score_adj" 相结合时,就能找出内存占用较大且较不重要的进程,从而进行内存释放。