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

Раньше был параметр конфигурации ядра, называемый 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 между пользователем «Алиса» и «Боб»,

  • Как вы очищаете буферы и кеш в системе Linux?
  • Интерпретация результатов tiobench
  • Что может прерывать выполнение потоков, привязанных к ядрам?
  • vmstat на виртуальной машине и большие значения
  • Как ускорить мою сборку
  • Зачем использовать swap, когда в ОЗУ имеется достаточно свободного места?
  • мониторинг производительности
  • Linux mutex spins
  • Зашифровывает ли все мои медленные программы Lubuntu?
  • Как рассчитать память, потребляемую программой «C» в Linux
  • Как указать спецификатор формата blkparse, который также подавляет сводку
  • Interesting Posts

    Имя хоста на терминале изменяется при подключении Интернета: почему?

    Не расширяйте отображение командной строки (cmap), пока не нажмете enter в vim

    Нет кандидата на установку для компиляции

    dd сработает после нескольких часов передачи

    Как использовать Quicken Home Inventory в Linux (или Windows 7)

    Воспроизведение SD-карты с разделами Linux и Fat32

    Как выполнить сочетания клавиш из командной строки?

    загрузка драйвера ядра ath9k_htc не выполняется

    Возможность доступа на запись при подключении сетевого ресурса Windows

    Выведите отрицательные значения, независимо от оригинала, на выбранных линиях

    Запросить пароль в POSIX-совместимой оболочке?

    sudo apt-get install g ++ – 4.8-multilib не работает на Mint?

    Системный буфер сброшен, как только я выйду из vim

    Как я могу сделать эквивалент tail -f с ls?

    Ошибка при перенаправлении портов с помощью iptables: нет цепочки / цели / соответствия этим именем

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