Раньше в cgroups была опция конфигурации ядра, называемая sched_user или аналогичная. Это позволило (насколько мне известно) всем пользователям справедливо делиться системными ресурсами. В 2.6.35 он недоступен. Есть ли способ настроить мою систему для автоматического распределения ресурсов io / cpu / memory между всеми пользователями (включая root?). Я никогда не настраивал cgroup прежде, есть хороший учебник для этого? Большое спасибо.
linux
kernel
performance
administration
NightwishFan
источник
источник
Ответы:
Ядро документация обеспечивает общий охват контрольных групп с примерами.
cgroups-bin
Пакет (который зависит отlibcgroup1
) уже предусмотрено распределение должно быть в порядке.Конфигурация выполняется путем редактирования следующих двух файлов:
Используется libcgroup для определения контрольных групп, их параметров и точек монтирования.
Используется libcgroup для определения контрольных групп, к которым принадлежит процесс.
Эти файлы конфигурации уже содержат примеры, поэтому попробуйте настроить их в соответствии с вашими требованиями. Страницы руководства достаточно хорошо описывают их конфигурацию.
После этого запустите менеджер рабочих нагрузок и демон правил:
Менеджер рабочей нагрузки (cgconfig) отвечает за распределение ресурсов.
Добавление нового процесса в менеджер:
Добавление уже запущенного процесса в менеджер:
Или автоматически поверх файла cgrules.conf и демона правил CGroup (cgred), который принудительно запускает каждый вновь созданный процесс в указанную группу.
Пример /etc/cgconfig.conf:
Пример /etc/cgrules.conf:
Это разделит ресурсы процессора примерно на 50-50 между пользователем 'alice' и 'bob'
источник