Среда: рабочий стол 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.