使用nice减少CPU处理时间?

时间:2008-12-04 18:56:50

标签: linux bash backup

我的托管服务提供商(pairNetworks)对服务器上运行的脚本有一定的规则。我正在尝试压缩文件以进行备份,并且最好使用bzip2来利用其AWESOME压缩率。但是,当尝试压缩此90 MB文件时,该过程有时会运行超过1.5分钟。其中一个资源规则是脚本只能执行30秒CPU。

如果我使用nice命令'nicefy'进程,那会破坏CPU处理总时间吗?是否有一个不同的命令我可以用来取代好的?或者我是否必须使用不长时间的不同压缩实用程序?

谢谢!


编辑:这是他们的支持页面所说的:

  • 运行任何需要更多的流程 超过16MB的内存空间。
  • 运行任何 程序需要超过30个 CPU秒完成。

编辑:我在命令行的

的bash脚本中运行它

4 个答案:

答案 0 :(得分:5)

nice无法帮助您 - 无论实际秒数多少, CPU秒的数量仍将保持不变。

答案 1 :(得分:5)

nice会改变进程的优先级,因此会更快(或更晚)获得CPU秒数,所以如果规则确实与你在问题中陈述的CPU秒数有关,那么很好,根本不会为你服务,它是'我会在不同的时间被杀。

对于解决方案,您可以尝试将文件拆分为三个30 MB的文件(请参阅split(1)),您可以在指定的时间内进行压缩。然后你解压缩并用猫把碎片放在一起。根据它是二进制文本还是文本,您可以使用-l或-b参数进行拆分。

答案 2 :(得分:3)

您必须找到压缩率和CPU消耗之间的差异。 bzip2有-1 ... -9选项 - 尝试“调整”它(-1是最快的)。另一种方法是咨询您的提供商 - 可能是您可以授予脚本特殊权限以延长运行时间。

答案 3 :(得分:1)

不,nice只会影响您的流程安排方式。简而言之,一个占用30个CPU秒的进程总是需要30个CPU秒,即使它被抢占了几个小时。

当我加载我的机器的所有核心并进行一些大量处理但是将它们全部加入时,我总是感到兴奋。我喜欢看到CPU监视器在网上冲浪时没有任何明显的延迟。