systemd vs cgroups para isolamento de recursos pelo programa do usuário?

1

Ambiente : área de trabalho do kubuntu 17.10.1

Meta imediata : execute chrome de forma a limitar o consumo máximo de memória.

Solução atual : eu coloquei o seguinte em /usr/local/bin/cchrome :

#!/bin/sh
sudo mkdir -p /sys/fs/cgroup/memory/chrome
sudo chown -R ji /sys/fs/cgroup/memory/chrome
echo 8G > /sys/fs/cgroup/memory/chrome/memory.limit_in_bytes
exec cgexec -g memory:chrome google-chrome

Eu, então, edito meu menu de aplicativos para criar uma entrada chamada cchrome, e as coisas estão ótimas! Se eu fosse menos preguiçoso, eu teria criado o cgroup na inicialização para não precisar invocar o sudo no script.

Isso funciona, mas é feio. De acordo com o TFM ( man cgrules.conf e man cgconfig.conf ), eu deveria ser capaz de definir as coisas para que, quando o Chrome é iniciado, ele seja executado em seu próprio cgroup. No entanto, esses arquivos não existem na área de trabalho 17.10 ou no servidor 16.04 LTS. AIUI, o systemd faz seu próprio gerenciamento de cgroup.

Eu não consegui encontrar nenhuma documentação sobre como fazer isso, e cada pesquisa no google sobre o assunto é sobre alguma solução alternativa, não funciona, ou é para alguma outra distribuição linux.

    
por JayEye 12.03.2018 / 00:40

0 respostas