ionice 进程组?

ionice 进程组?

有没有一种简单的方法可以像上面那样更改整个进程组的 I/O 优先级renice -g?似乎只支持更改单个进程的 I/O 优先级ionice。如果无法做到这一点,有人可以指出相关的 API 调用吗(我对 POSIX api 一点也不熟悉),以便我可以编写一个快速命令行实用程序来自己实现此功能?

答案1

您可以创建一个名为 gionice 的脚本,如下所示:

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

然后,您可以像下面这样调用它,针对进程组 ID 3266,例如:

./gionice 3266

“ps -s PID -o pid” 逐行打印组长为 PID 的进程标识符。然后,对于每一行,xargs 都会将该行附加在“ionice -c 2 -n 0 -p”之后并调用结果命令。

希望有所帮助。

答案2

您看过 cgroups 和 blkio 模块吗?

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

您可以使用它来限制 IO,比单独使用 ionice 具有更多的控制权。您还可以使用 cgrulesengd 守护进程自动将新进程添加到现有的组基础架构中。

相关内容