Vários sistemas modernos de supervisão de demos têm um meio para fazer isso. (De fato, como existe uma ferramenta de carregamento de cadeia para o trabalho, sem dúvida eles todos têm um meio para fazer isso.)
-
Upstart: Use
oom score
no arquivo de trabalho.oom score -500
-
systemd: Use a configuração
OOMScoreAdjust=
na unidade de serviço. Você pode usar os arquivos de patch da unidade de serviço para afetar unidades de serviço pré-empacotadas.[Service]
OOMScoreAdjust=-500 -
família de daemontools : Use a ferramenta
oom-kill-protect
do conjunto de ferramentas do negócio narun
programa para o serviço.Se você estiver convertendo uma unidade de serviço do sistema, a ferramenta
convert-systemd-units
irá, de fato, converter a configuraçãoOOMScoreAdjust=
em tal chamada deoom-kill-protect
.#!/bin/nosh
Como bônus, você pode torná-lo parametrizável:
…
oom-kill-protect -- -500
…
program argumentsoom-kill-protect -- fromenv
e definir o valor do parâmetro no ambiente do serviço (presume-se que seja lido de um envdir associado ao serviço, aqui manipulado comrcctl
shim do conjunto de ferramentas do nosh ):rcctl set servicename oomprotect -500
Leitura adicional
- Jonathan de Boyne Pollard (2016).
oom-kill-protect
. conjunto de ferramentas. Softwares. - James Hunt e Clint Byrum (2014). "
oom score
". Cookbook Upstart . - Lennart Poettering (2013-10-07). "
OOMScoreAdjust
". %código%. páginas de manual do systemd. freedesktop.org. - Jonathan de Boyne Pollard.
systemd.exec
. conjunto de ferramentas. Softwares. - link