2008-12-04 132 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是最快的)。另一種方法是諮詢您的提供商 - 可能會授予腳本運行時間更長的特殊權限。