Самый простой способ обеспечить изоляцию памяти, диска и ЦП без загрузки образов

Я знаком с Docker, Rkt и LXD, но если бы у меня не было возможности установить все эти инструменты, какие были бы основные механизмы для обеспечения изоляции ЦП, памяти и Диска для конкретного процесса?

ЦП - я хочу сказать, что только 1 сокет из двух может использоваться этим процессом

Память — я не хочу, чтобы этот процесс использовал более 10 ГБ памяти.

Диск - я не хочу, чтобы процесс использовал более 100 ГБ диска и имел видимость (ls не должен указывать это) файлов, которые не созданы этим процессом.

Я думаю, что установка Docker, Rkt и чего-то еще — очень тяжелое решение для чего-то простого, что я пытаюсь выполнить.

Являются ли контрольные группы базовым API, к которому я должен подключиться, чтобы получить то, что мне нужно? Если да, есть ли хорошая книга, чтобы узнать о CGroups?

Я работаю на EC2 - RHEL и Ubuntu.


person user855    schedule 01.10.2017    source источник


Ответы (1)


См. справочную страницу cgroups(7) для ознакомления, полная документация интерфейса cgroup поддерживается в ядре Linux:

Кроме того, в дистрибутиве с интерфейсом systemd и cgroup v2 функции cgroup должны быть используется через systemd, а не напрямую. См. также справочную страницу для systemd.resource-control. .

Информацию о конкретном дистрибутиве см.

Быстрые ответы на ваши вопросы

Я хочу сказать, что этот процесс может использовать только 1 сокет из двух.

Это можно сделать с помощью контроллера cpuset из cgroup v1 (оба на RHEL 6 и RHEL 7).

Я не хочу, чтобы этот процесс использовал более 10 ГБ памяти.

См. контроллер памяти интерфейса cgroup v1 или MemoryLimit интерфейса управления ресурсами systemd.

Я не хочу, чтобы процесс использовал более 100 ГБ дискового пространства.

Это вне зоны контроля cgroups, вместо этого используйте дисковые квоты.

иметь видимость (ls не должна указывать) файлов, которые не созданы этим процессом

Это выходит за рамки функциональности cgroups, используйте либо права доступа к файловой системе, пространства имен файловой системы, либо параметр службы PrivateTmp systemd, в зависимости от вашего варианта использования.

person marbu    schedule 10.10.2017