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

группа процессов ionice?

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

Вы можете создать сценарий под названием 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 для автоматического добавления новых процессов в существующую инфраструктуру группы.