相当于文件系统 IO 的‘nice’吗?

相当于文件系统 IO 的‘nice’吗?

当我运行rsync涉及复制大文件的备份作业时,运行备份的机器(Mac 台式机和 Linux 服务器)就会停止运行,并且平均负载会急剧上升。

我试过了:

  • nice进程rsync(没用——瓶颈是磁盘)
  • 在 Linux 上,reniceing a kjournald(有帮助,但看起来像是 hack,在 Mac 上不起作用)
  • 使用--bwlimit rsync标志(有帮助,但这意味着所有的传输都很慢 - 即使它们不需要)

那么,有什么方法可以“ nicersync的 IO,以便在备份运行时可以使用机器吗?

附言:我知道rsync在 Mac 上使用的危险……但我曾经使用过备份保镖来验证我的备份,但它们看起来没问题。

答案1

看起来setpriorityMac OS X 上的 API 应该能够改变 IO 调度(参见http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man2/setpriority.2.html)。我手边没有任何 MacOS,因此无法测试它nice是否真的改变了 IO 优先级。

在Linux方面,ionice这就是您所寻找的。

答案2

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

相关内容