2008-12-04 82 views
1

我的托管服务提供商(pairNetworks)对服务器上运行的脚本有一定的规则。我试图压缩一个文件用于备份目的,理想情况下希望使用bzip2来利用其AWESOME压缩率。但是,当试图压缩这个90 MB文件时,该过程有时会运行1.5分钟。资源规则之一是一个脚本可能只能执行30个CPU秒。使用nice减少CPU处理时间?

如果我使用nice命令来“nicefy”这个过程,是否分解了CPU总处理时间的数量?有没有不同的命令我可以用来代替好的?或者我将不得不使用不需要花费太长时间的其他压缩工具?

谢谢!


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

  • 运行,它需要比16MB的存储器空间更 任何进程。
  • 运行任何需要超过30个CPU时间的 程序才能完成。

编辑:我在bash脚本命令行运行此

回答

5

不错的会改变进程的优先级,并且因此会在更早或更晚的时候得到它的CPU秒数,所以如果规则实际上是关于你在问题中陈述的CPU秒数,那么nice根本不会为你服务,它只是在不同的时间被杀死。

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

+0

负面的更高优先级:D – 2008-12-04 19:08:01

+0

是的,我知道很好也可以做到这一点。无论您对流程的优先级如何,它仍然不适合OP的要求。 – 2008-12-04 19:29:46

5

nice不会帮助你 - 的CPU秒量将仍然是相同的,不管有多少它需要的实际秒数为

1

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

当我用一些重要的处理加载我的机器的所有内核,但是他们全都被删除时,我总是会感到兴奋。我喜欢在没有任何明显延迟的情况下在浏览网页时看到CPU监视器被最大化。

3

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