Можно ли настроить процесс linux на ЛЮБОЕ время, когда он будет готов?

У меня есть процесс, который выполняет небольшое количество работы, затем засыпает на 1-5 мс. Когда время ожидания истекло, я хочу, чтобы этот процесс НЕМЕДЛЕННО получил ЦП! Независимо от того, какой процесс уже запущен в ЦП, необходимо немедленно извлечь его, чтобы освободить место для нового процесса.

Есть ли способ настроить процесс, с chrt или аналогичными инструментами, чтобы выполнить это?

1 ответ

Я думаю, что вы хотите взглянуть на 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 значение) вам нужно иметь root-доступ (sudo). Обычные пользователи не могут увеличить приоритет, а только уменьшить.

Чтобы получить планирование с наивысшим приоритетом, вам нужно запустить что-то вроде:

$ sudo nice --adjustment=-20 /your/application

Или, если ваш процесс уже запущен, вы можете изменить приоритет следующим образом:

$ sudo renice -n -20 [PID]
Другие вопросы по тегам