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

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

Ambiente: área de trabalho Kubuntu 17.10.1

Objetivo imediato: execute chromede forma a limitar o consumo máximo de memória.

Solução alternativa atual: coloquei o seguinte /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

Em seguida, edito meu menu de aplicativos para criar uma entrada chamada cchrome, e tudo está ótimo! Se eu fosse menos preguiçoso, teria até 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.confe man cgconfig.conf), devo ser capaz de configurar as coisas para que, quando o Chrome for inicializado, ele seja executado em seu próprio cgroup. No entanto, esses arquivos não existem no desktop 17.10 ou no servidor 16.04 LTS. AIUI, o systemd faz seu próprio gerenciamento de cgroup.

Não consegui encontrar nenhuma documentação sobre como fazer isso, e todas as pesquisas no Google sobre o assunto são sobre alguma solução alternativa, não funcionam ou são para alguma outra distribuição Linux.

informação relacionada