Как хорошо работать?

sched_setscheduler говорит:

Все планирование является превентивным: если процесс с более высоким статическим приоритетом становится готовым к запуску, текущий процесс будет выгружен и возвращен в список ожидания для его статического уровня приоритета.

  • Узнать, сколько программ я не установил из списка с помощью grep / awk в archlinux
  • Fedora 21 больше не загружается; Компьютер хочет, чтобы я исполнял руководство МОК
  • Я хочу ограничить SFQ qdisc байтами
  • Скопировать-вставить между гостевым и хостом Hyper-V
  • Нужны ли мне модули pata_atiixp или ata_generic ядра в системе SATA?
  • * .tar.gz резервное копирование
  • в то время как setpriority говорит

    Это приводит к очень низким хорошим значениям (+19), чтобы по-настоящему обеспечить небольшой процессор для процесса всякий раз, когда в системе есть другая более высокая приоритетная нагрузка, и делает высокие хорошие значения (-20) доставляют большую часть процессора в приложения, которые этого требуют

    Итак, как меняется хорошая ценность, влияющая на выполнение программ? Схоже ли это с RT-планированием (где программа с более высоким хорошим значением собирается прервать программу с более низким хорошим значением)?


    Вся информация в Интернете заключается в том, как использовать nice и как изменить приоритет процесса. Никакая ссылка не объясняет, как работает процесс с другим приоритетом. Я даже не мог найти исходный код.

  • Как избежать вызова «startx» при входе в ssh
  • Рандомизация порта источника для новых соединений
  • Я не могу найти / dev / watchdog
  • Схема пассирования: сервер и ноутбук Arch Linux
  • Как отлаживать зависание системы?
  • Не удается войти после редактирования /etc/security/limits.conf
  • One Solution collect form web for “Как хорошо работать?”

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

    Полностью честный планировщик Linux (CFS) вычисляет вес, основанный на тонкости. Вес примерно эквивалентен 1024 / (1.25 ^ nice_value) . По мере того как хорошее значение уменьшается, вес увеличивается экспоненциально. Временной лимит, выделенный для процесса, пропорционален весу процесса, деленному на общий вес всех выполняемых процессов. Реализация CFS выполняется в kernel/sched/fair.c

    CFS имеет целевую задержку для продолжительности планирования. Меньшие целевые задержки обеспечивают лучшую интерактивность, но по мере уменьшения целевой задержки увеличивается накладные расходы на переключение, снижая тем самым общую пропускную способность.

    Учитывая, например, целевую задержку в 20 миллисекунд и два выполняемых процесса равной степени удовлетворенности, тогда оба процесса будут выполняться в течение 10 миллисекунд каждый, прежде чем будут упреждаться в пользу другого процесса. Если есть 10 процессов с одинаковой доброжелательностью, каждый из них работает по 2 миллисекунды каждый.

    Теперь рассмотрим два процесса: один с хорошностью 0 (по умолчанию), другой с хорошностью 5. Пропорциональная разница между соответствующими весами составляет примерно 1/3, что означает, что процесс с более высоким приоритетом получает временной интервал около 15 миллисекунд в то время как процесс с более низким приоритетом получает временной интервал в 5 миллисекунд.

    И, наконец, рассмотрим два процесса с величинами 5 и 10 соответственно. В то время как абсолютная симпатия в этом случае больше, относительные различия между значениями достоинства такие же, как в предыдущем примере, что дает одинаковое распределение времени.

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