Como reduzir a pontuação da OOM para o X11 com o systemd

2

Quando meu PC fica sem memória, o matador do Linux OOM gosta de matar o Xorg primeiro ao invés do aplicativo real usando muita memória, o que na maioria das vezes destrói todo o sistema (matando todos os meus aplicativos em vez de apenas um com o vazamento de memória ruim.)

Entendo que posso evitar isso definindo a pontuação OOM-killer do X11 para um valor muito baixo, como -900 , para que o killer da OOM do kernel tente terminar outras tarefas primeiro, o que aumenta bastante mais propensos a matar um aplicativo inválido em vez de todo o ambiente de janelas.

No entanto, não consigo ver como fazer isso com systemd . Aparentemente, há uma opção OOMScoreAdjust que você pode definir em um arquivo .service , exceto 1) Eu pensei que eu não deveria estar editando esses arquivos de propriedade do sistema diretamente (já que eles serão sobrescritos durante uma atualização) e 2) eu não consigo nem encontrar o do X-Windows. Eu só tenho um display-manager.service que aponta para lightdm .

Como alguém pode dizer a systemd para ajustar a pontuação do OOM para o Xorg? Estou usando o Arch Linux, embora acredite que eles não fazem muitas / nenhuma alteração em systemd .

    
por Malvineous 18.05.2018 / 09:13

1 resposta

0

Esta é uma resposta preliminar, vou atualizá-la à medida que mais detalhes forem sendo fornecidos.

systemd não inicia o X como o antigo sistema de nível de execução usado, mas em vez disso ele inicia o gerenciador de exibição (LightDM no meu caso) e é realmente o gerenciador de exibição que inicia o X.

Então a questão é realmente como alguém diz ao gerenciador de exibição para alterar a pontuação OOM do servidor X.

Eu fiz uma pergunta aos desenvolvedores do LightDM e eles parecem abertos a idéia de incluir uma opção para definir a pontuação do OOM (como ter o processo pai definido como o resultado do OOM parece ser a melhor maneira de fazer isso), então será uma questão de alguém implementar essa opção.

Até lá, a sugestão nos comentários acima de alterar a opção xserver-command config deve resolver o problema.

    
por 13.07.2018 / 07:03