Как настроить группы для правильного обмена ресурсами между пользователями?

Раньше был параметр конфигурации ядра, называемый sched_user или подобный под группами. Это позволило (насколько мне известно) всем пользователям честно обмениваться системными ресурсами. В 2.6.35 он недоступен. Есть ли способ настроить мою систему для автоматического совместного использования ресурсов io / cpu / memory между всеми пользователями (включая root?). Я никогда раньше не настраивал группу, есть ли хороший учебник для этого? Большое спасибо.

One Solution collect form web for “Как настроить группы для правильного обмена ресурсами между пользователями?”

Документация ядра обеспечивает общий охват групп примерами.

Пакет cgroups-bin (который зависит от libcgroup1 ), уже предоставленный дистрибутивом, должен быть точным.

Конфигурация выполняется путем редактирования следующих двух файлов:

 /etc/cgconfig.conf 

Используется libcgroup для определения групп управления, их параметров и точек монтирования.

 /etc/cgrules.conf 

Используется libcgroup для определения групп управления, к которым принадлежит процесс.

В этих файлах конфигурации уже есть примеры, поэтому попробуйте отрегулировать их в соответствии с вашими требованиями. Персональные страницы довольно хорошо отражают их конфигурацию.

Затем запустите диспетчер рабочей нагрузки и задайте правила:

 service cgconfig restart service cgred restart 

Диспетчер рабочей нагрузки (cgconfig) отвечает за распределение ресурсов.
Добавление нового менеджера менеджеру:

 cgexec [-g <controllers>:<path>] command [args] 

Добавление уже запущенного процесса к менеджеру:

 cgclassify [-g <controllers>:<path>] <pidlist> 

Или автоматически через файл cgrules.conf и Daemon Rules CGroup (cgred), который заставляет каждый вновь созданный процесс в указанную группу.


Пример /etc/cgconfig.conf:

 group group1 { perm { task { uid = alice; gid = alice; } admin { uid = root; gid = root; } } cpu { cpu.shares = 500; } } group group2 { perm { task { uid = bob; gid = bob; } admin { uid = root; gid = root; } } cpu { cpu.shares = 500; } } mount { cpu = /dev/cgroups/cpu; cpuacct = /dev/cgroups/cpuacct; } 

Пример /etc/cgrules.conf:

 alice cpu group1/ bob cpu group2/ 

Это будет разделять ресурсы ресурсов процессора примерно на 50-50 между пользователем «Алиса» и «Боб»,

  • Как рассчитать память, потребляемую программой «C» в Linux
  • GRUB занимает слишком много времени, чтобы разблокировать зашифрованный загрузочный раздел
  • Как я могу запустить этот скрипт bash параллельно?
  • Использует ли Linux PreemptRT патч для пользователей настольных компьютеров?
  • Таблица использования процессора консоли
  • Какие параметры можно использовать для максимизации производительности FFMpeg?
  • Могло ли отключить мониторинг частоты ядра процессора, чтобы повысить производительность и / или время автономной работы?
  • Каковы плюсы и минусы отключения раздела подкачки, если ОЗУ достаточно большая?
  • Каково влияние на производительность системы при включении информации об отладке ядра?
  • Ограничить количество снимков btrfs?
  • Альтернатива не KDE для KNotes?
  • Как найти количество байтов, переписанных в иерархию папок?
  • Interesting Posts

    Укажите количество элементов в n-ом столбце в целом файле

    Использование сценария ожидания для автоматизации проверки пароля для множества маршрутизаторов

    Как набрать sumtool на redhat 6

    Приостановка подключения невозможна при подключении USB-мыши

    Неправильное количество кликов от мыши и капель, нажмите и удерживайте, затем снова забирает

    Перемещение переменной за пределами оператора case

    SSH «спать» в течение долгого времени, прежде чем подключиться?

    Как сформировать дату в четвертом квартале из командной строки?

    Как преобразовать символы в символы, которые будут создавать звуковые сигналы?

    Проблема с разрешением DNS с помощью OpenBSD

    как удалить ярлык SELinux?

    Как команда sed '1! G; h; $! D' отбрасывает содержимое файла?

    Шаблоны ssh config, чтобы избежать ввода имени пользователя

    Использование grep -v по нескольким аргументам

    gawk с gawkextlib

    Linux и Unix - лучшая ОС в мире.