Назад | Перейти на главную страницу

Как правильно изменить политику планирования процесса на IDLE?

У меня есть длительный процесс на сервере под управлением Ubuntu Server 9.10. Я хотел бы, чтобы он работал под политикой SCHED_IDLE, используя chrt команда. Однако, прочитав справочную страницу, я не могу понять, как правильно выполнить команду для запущенного процесса.

Я безуспешно пробовал:

# chrt -i -p 688
pid 688's current scheduling policy: SCHED_OTHER
pid 688's current scheduling priority: 0
# chrt -p -i 688
pid 688's current scheduling policy: SCHED_OTHER
pid 688's current scheduling priority: 0
# chrt -p 688 -i
chrt: failed to set pid 0's policy: Invalid argument

Я буду продолжать попытки, но ты знаешь, как делать то, что я хочу?

Вот это да. После проверки примеров в Интернете я обнаружил эта страница на ibm.com, где приведен пример того, как установить политику планирования запущенного процесса на SCHED_FIFO:

# chrt -p -f 35 13826

35, очевидно, является приоритетом процесса в политике SCHED_FIFO. Поэтому я просто попытался использовать фиктивный приоритет 0:

# chrt -p -i 0 688
# chrt -p 688
pid 688's current scheduling policy: SCHED_IDLE
pid 688's current scheduling priority: 0

и был успешным.