Answers:
注意:此方法只与CFQ调度工作,为解释在这里。您应该通过签发检查使用哪一个
cat /sys/block/sda/queue/scheduler
并在必要时进行更改。
如果我理解正确,则希望ionice
每次启动命令时都应用一些设置。您可以这样操作:
echo 'ionice -c 3 /usr/bin/VirtualBox "$@"' > VirtualBox
chmod a+x VirtualBox
sudo mv VirtualBox /usr/local/bin/
第一条命令创建一个VirtualBox
以单引号文本作为内容的文件。这应该具有程序的完整路径,因为如果仅指定VirtualBox
它,则可以将其解释为我们刚刚创建的文件并创建一个“循环”。
第二个命令使其可执行,第三个命令将该新文件移动到“ system” bin文件夹前面的文件夹中/usr/bin
,因此我们的新文件将被执行,而不是原始文件。“ $ @”部分包含使用该命令调用的所有参数,因此它们会转发到实际的VirtualBox命令。
根据对此超级用户问题的回答(“是”),孩子进程是否从父母那里继承了恋爱优先权?如何检查正在运行的进程的IO优先级?,ionice
对于父进程来说就足够了,就像这样:
ionice -c 3 VirtualBox
在ionice
手册页中,可以使用以下I / O调度类值:
可以使用数字或类别名称。
此外,该-n level
选项适用于实时和尽力而为类,其中0-7是有效数据(优先级)。
ionice
对于父进程来说这应该足够了”是必不可少的吗?
您可以使用“ renice”命令确定进程的优先级:
renice -<priority> <application's pid>
也可能是您的驱动器旋转速度太慢,所以当您要启动Virtualbox之类的应用程序时,它必须先旋转然后才能开始解决(这可能需要一段时间)。