Спящие процессы получают одинаковое время процессора?


11

Некоторые процессы проводят большую часть своей «жизни» в sleepстатусе. На ум приходят демоны, серверы и общий слушатель. Мне было интересно, если они получают одинаковое время процессора в этом состоянии? На чем-то вроде моего ноутбука это было бы не очень оптимально!

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

Как я могу узнать о моей текущей политике планирования? Могу ли я изменить их динамически? С симпатичным пользовательским приложением?

Ответы:


15

Процессы не потребляют ресурсы процессора, пока они спят. Они могут добавить некоторые накладные расходы, поскольку ядру приходится их подтасовывать, но это очень незначительно.

Однако из-за того, как сформулирован вопрос, я должен упомянуть, что при использовании Linux CFS (полностью честный планировщик) он пытается увеличить время загрузки программ пропорционально времени, в течение которого он спит, то есть если процесс много спит Когда он возобновляется, он получает более высокий приоритет.

См. Http://www.ibm.com/developerworks/linux/library/l-completely-fair-scheduler/ для описания CFS.


2
Я хочу проголосовать за этот ответ, но ваша текущая оценка (6 666) слишком хороша, чтобы ее менять. Ах, хорошо, я все равно это делаю ...
Рахму

2
@rahmu Нееееет! Мои красивые прямые шестерки! Мне просто нужно добраться до семерок сейчас.
Шон Дж. Гофф

4

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


Если это правда, как машина узнает, когда время ожидания завершено и что она должна возобновить выполнение?
Дейв Голдсмит
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.