Изменение кванта времени планировщика с помощью команды schedo

Команда schedo позволяет изменить квант времени планировщика. Для этого нужно вызвать команду schedo -o timeslice=значение.

Параметр -t задает число тактов в кванте времени. Новое значение кванта времени будет применяться только нитями, для которых установлен алгоритм планирования SCHED_RR (описание нитей с фиксированным приоритетом приведено в разделе Стратегии планирования для нитей).

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

Нить со стратегией планирования SCHED_OTHER или SCHED_RR может использовать процессор в течение всего кванта времени (по умолчанию квант равен одному такту, длительность которого составляет 10 мс).

В некоторых случаях накладные расходы, связанные с частым переключением контекста нитей и планированием запуска нитей, столь велики, что требуется увеличить квант времени. В таких случаях увеличение кванта времени позволяет повысить скорость выполнения нитей с фиксированным приоритетом. Для того чтобы узнать, сколько раз в секунду переключается контекст, вызовите команду vmstat или sar.

Не все приложения поддерживают работу в среде с увеличенным квантом времени (для некоторых он будет избыточным, а для некоторых - недопустимым). Такие приложения могут освобождать ресурсы процессора явным образом с помощью системного вызова yield() (как и программы в системе со стандартным квантом времени). После вызова yield() нить помещается в очередь выполнения за последней нитью с тем же приоритетом.