Ionice是一个标准的Linux命令,它可以为进程设置io优先级:
http://linux.die.net/man/1/ionice
儿童过程是否从父母那里继承了恋爱的优先权?如何检查正在运行的进程的io优先级?
Ionice是一个标准的Linux命令,它可以为进程设置io优先级:
http://linux.die.net/man/1/ionice
儿童过程是否从父母那里继承了恋爱的优先权?如何检查正在运行的进程的io优先级?
Answers:
是。我测试了 IO优先级就像CPU友好一样被继承。这可能就是您想要的。如果不是,则可以使用ionice命令显式指定子进程的IO优先级。
分叉的任何进程都将继承其父级的io类和优先级,但是要牢记的一个重要事实是,如果您更改正在运行的进程的io类和/或优先级,则不会更改io类的优先级。该过程的任何当前子过程。就是说,一旦您调整了正在运行的进程的类和/或优先级,以后派生的所有子进程都将继承新的io类和优先级。
是的,这就是我测试的方式
创建两个文件 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