我想知道为什么我不能为 cp 设置 ionice 。
ionice -c2 -n0 cp
Run Code Online (Sandbox Code Playgroud)
我运行这个命令,得到:
cp: missing file argument
Try `cp --help' for more information
Run Code Online (Sandbox Code Playgroud)
为什么?
如果我理解正确,您正在尝试更改所有后续调用的 ionice 级别cp
。如果是这样,您就误解了工作方式ionice
(并且nice
就此而言)。
该ionice
命令指的是进程,而不是二进制文件。您可以使用它来更改当前正在运行的进程的 ionice 级别,方法是将 PID 作为参数,或者您可以在启动进程时使用它。
因此,您要么密切关注机器,并ionice
为有问题的进程手动设置新级别,如下所示:
ionice -c2 -n0 -p 12345 # replace 12345 with the PID you want to act nicer
Run Code Online (Sandbox Code Playgroud)
或者您更改正在使用的脚本,以便它们使用而ionice -c2 -n0 cp from to
不仅仅是cp from to
.
仍然不能保证事情会变得更好。IO 比您想象的要复杂,尤其是在您使用虚拟机时。