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

systemd против 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 он запускался в своей собственной cgroup. Однако эти файлы отсутствуют в 17.10 desktop или 16.04 LTS server. AIUI, systemd управляет собственной cgroup.

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

Связанный контент