systemd vs cgroups для изоляции ресурсов пользовательской программой?

Окружение: рабочий стол kubuntu 17.10.1

Ближайшая цель: бежать chrome таким образом, чтобы ограничить его максимальное потребление памяти.

Текущий обходной путь: я положил следующее в /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

Затем я редактирую меню приложений, чтобы создать запись под названием cchrome, и все отлично! Если бы я был менее ленив, я бы даже создал cgroup при запуске, чтобы мне не пришлось вызывать sudo в скрипте.

Это работает, но это некрасиво. По данным TFM (man cgrules.conf а также man cgconfig.conf), Я должен иметь возможность настроить все так, чтобы при запуске chrome он работал в своей собственной группе. Однако эти файлы не существуют на настольном компьютере 17.10 или сервере LTS 16.04. AIUI, systemd имеет собственное управление cgroup.

Я не смог найти никакой документации о том, как это сделать, и каждый поисковый запрос Google по этой теме либо о каком-то обходном пути, либо не работает, либо о каком-то другом дистрибутиве Linux.

0 ответов

Другие вопросы по тегам