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

sched_setscheduler говорит:

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

в то время как setpriority говорит

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

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


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

  • Как запланировать что-то запускать один раз с помощью anacron?
  • Запуск процесса в заданном временном окне
  • Сценарий Python работает с терминалом, но не работает в планировщике, для записи на внешний диск
  • Как включить и использовать планировщик BFQ?
  • Что означает «INFO: задача XXX, заблокированная на протяжении более 120 секунд», в точности означает Linux?
  • Могут ли процессы с интенсивным использованием процессора с наименьшим приоритетом (19) оказывать неблагоприятное воздействие?
  • как сказать crontab выполнить команду с этого момента
  • как остановить потоки ядра, вытесняющие процессы пользовательского пространства в реальном времени?
  • 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 соответственно. В то время как абсолютная симпатия в этом случае больше, относительные различия между значениями достоинства такие же, как в предыдущем примере, что дает одинаковое распределение времени.

    Interesting Posts

    Bash 4.4 в скобках-вставной режим остается включенным при запуске команд – развращает пасту

    Лучшие практики для упаковки самостоятельно созданного программного обеспечения для Debian

    Какая связь между ошибкой gedit и Unix – & – Linux Q / A href?

    Почему вино может запускать 64-битные программы в Linux, но не на Mac?

    Преобразование html-таблицы в ncurses-подобную таблицу ascii?

    Как сделать двойной backtrack 5 5 и Windows 8?

    Как получить информацию о том, какой сервер отображения работает?

    Как создать каталог bin пользователя в gentoo

    Избегайте проблем с Fedora и Windows путем установки на отдельные жесткие диски?

    верхняя команда на многоядерном процессоре

    Запуск find & grep и включение пути в выходной файл

    HTML-адрес электронной почты из почтового ящика mailx на linux

    Diacritics не работают в приложениях GTK +, работающих на Mac OS X Snow Leopard

    Фиксирование Lilo с системой uuefi и отсутствие оптического привода

    Одно системное обслуживание зависит от другого

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