Группа процессов ионизации?

Есть ли простой способ изменить приоритет ввода / вывода для всей группы процессов, как renice -g делает? Кажется, что только изменение приоритета ввода / вывода для одного процесса поддерживается ionice, Если это невозможно, может кто-нибудь указать мне соответствующие вызовы API (я совсем не знаком с API POSIX), чтобы я мог написать утилиту быстрой командной строки для реализации этой функции самостоятельно?

2 ответа

Вы можете сделать скрипт под названием gionice, например:

#!/bin/sh
ps -s $1 -o pid | xargs ionice -c 2 -n 0 -p 

Затем вы можете назвать это так, для идентификатора группы процессов 3266, например:

./gionice 3266

"ps -s PID -o pid" печатает построчные идентификаторы процессов, лидером группы которых является PID. Затем для каждой строки xargs добавляет эту строку после "ionice -c 2 -n 0 -p " и вызывает полученную команду.

Надеюсь, это поможет.

Вы смотрели на cgroups и модуль blkio?

http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt

Вы можете использовать его для ограничения ввода-вывода с гораздо большим контролем, чем один только ionice. Вы также можете использовать демон cgrulesengd для автоматического добавления новых процессов в существующую групповую инфраструктуру.

Другие вопросы по тегам