自从从 Debian 9 升级到 Debian 11 后,我们一直在为mysql
被 OOMKiller 杀死而苦苦挣扎。
我看到.service
已经定义了几个文件OOMScoreAdjust=###
,但它们似乎没有被兑现,并choom
告诉我这些服务的分数调整值是0
.
除了but seems to be honored for之外mysql
,其他服务也忽略该值,默认为 adjust 值。netdata
systemd
-1000
OOMScoreAdjust
在文件中指定.service
在 Debian 11 中不再有效吗?我猜不是这样,因为systemd
的分数被正确读取了choom
。那么还有其他事情发生了吗?
除了choom
告诉我调整分数是0
,进程继续被终止,这让我很确定这个值没有被兑现,但我不知道为什么会这样。
我不确定这个问题是特定于 Debian 还是什么,因为我没有足够的信息,也不知道下一步该去哪里。
我发现我没有嵌套
OOMScoreAdjust
在[Service]
标题下,所以没有应用。这解释了为什么它适用于某些进程(值正确嵌套在[Service]
, 下的进程)而不适用于其他进程。设置的值
choom
似乎不会在重新启动后持续存在。