4 月 26 日消息索尼的工程师 Peter Enderborg 近日向 Linux 内核 LKML提交了一份,邮件中提出了一种新的看门狗(Watchdog)软件,可优化设备内存不足的解决方案。
林林目录了解到,看门狗软件是一种监控程序,可定时查看设备的运行状况,当遇到不可恢复的错误时,就发出重启信号来解决问题,在软件中具有最高优先级。
邮件中指出,新的看门狗将不会执行硬重启,而是采取 "预先定义的操作" 来尝试杀掉不重要的进程,该方法采用了对 "oom_score_adj" 监控来执行相应操作,看门狗会杀死具有最高 "oom_score_adj" 的进程。
"oom_score" 是 Linux 内核分配给每个运行中的进程的分数,数字越大则表示该进程的内存使用越高,而 "oom_score_adj" 是在 -1000 到 1000 之间的数字,数字越大意味着该进程越不重要。
当 "oom_score" 和 "oom_score_adj" 相结合时,就能找出内存占用较大且较不重要的进程,从而进行内存释放。