文件系统IO的“nice”的等价物?

当我运行一个涉及复制大文件的rsync备份作业时,运行备份的计算机(包括Mac桌面和Linux服务器)都会停下来,并且负载平均值将全部上升。

我试过了:

  • nicersync进程(没有帮助 – 瓶颈是磁盘)
  • 在Linux上, renice一个kjournald (帮助,但似乎是一个黑客,并不能在Mac上工作)
  • 使用--bwlimit rsync标志(帮助,但意味着所有的传输速度都很慢 – 即使不需要)

那么,有没有什么办法可以“ nice ”的rsync的IO,使机器在备份运行时可用?

PS:我知道在Mac上的rsync的危险…但是我用BackupBouncer来validation我的备份,虽然,他们似乎没问题。

看起来Mac OS X上的setpriority API应该能够改变IO调度(参见http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man2/setpriority.2.html )。 我没有任何MacOS方便,所以我不能testing,实际上改变了IO优先级。

在Linux方面, ionice是你正在寻找的。

在linux上,你可以使用ionice http://linux.die.net/man/1/ionice