У меня есть процесс, который выполняет небольшой объем работы, а затем засыпает на 1-5 мс. Когда это время ожидания истекло, я хочу, чтобы этот процесс НЕМЕДЛЕННО получил ЦП! Независимо от того, какой процесс уже находится в ЦП, необходимо немедленно удалить его, чтобы освободить место для нового процесса.
Есть ли способ настроить процесс с помощью chrt или аналогичных инструментов для этого?
Я думаю, ты хочешь взглянуть на nice
:
NICE(1) User Commands NICE(1)
NAME
nice - run a program with modified scheduling priority
SYNOPSIS
nice [OPTION] [COMMAND [ARG]...]
DESCRIPTION
Run COMMAND with an adjusted niceness, which affects process
scheduling. With no COMMAND, print the current niceness.
Niceness values range from -20 (most favorable to the
process) to 19 (least favorable to the process).
Обратите внимание: если вы хотите увеличить приоритет планирования (указав отрицательный nice
value) вам потребуется root-доступ (sudo). Обычные пользователи не могут увеличить приоритет, а только уменьшить.
Чтобы получить расписание с наивысшим приоритетом, вам нужно запустить что-то вроде:
$ sudo nice --adjustment=-20 /your/application
Или, если ваш процесс уже запущен, вы можете изменить приоритет следующим образом:
$ sudo renice -n -20 [PID]