15

Ionice - это стандартная команда linux, которая позволяет установить приоритет io для процесса:

http://linux.die.net/man/1/ionice

Унаследуют ли процессы детей приоритеты от своих родителей? Как проверить приоритет работы запущенного процесса?

4 ответа4

12

Да. Я проверял это. Приоритет ввода-вывода наследуется так же, как и процессор. Это, вероятно, то, что вы хотите. Если это не так, вы можете явно указать приоритет ввода-вывода дочерних процессов с помощью команды ionice.

9

Со страницы руководства (man ionice):

# ionice -p 89 91
Prints the class and priority of the processes with PID 89 and 91.
7

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

1

Да и вот как я это проверял

Создайте два файла foo.sh

# ==> foo.sh <==
echo $$
ionice

и nicechange.sh

# ==> nicechange.sh <==
echo $$
echo -n Before change:
ionice

echo Change to best-effort
ionice -c best-effort -p $$

echo After changed
ionice

echo Subprocess
x=$(bash foo.sh)
echo $x

Затем запустите его:

$ bash nicechange.sh 
2549
Before change:idle
Change to best-effort
After changed
best-effort: prio 4
Subprocess
2555 best-effort: prio 4

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .