Ubuntu

如何以最小 cpu 百分比壓縮文件?

  • March 14, 2013

我正在使用 bzip2 壓縮文件,該過程需要 100% 以上的 cpu。有沒有辦法以最小的 CPU 百分比執行 bzip2。

此程序是否會干擾您系統上的其他程序?為什麼要限制 bzip2 使用的 CPU?

您可以使用該nice命令更改程序的優先級:

$ nice -n 19 bzip2 <file>

此外,您可以嘗試降低bzip2壓縮級別:

$ bzip2 -1 <file>

推薦:使用優先級

除了@EEAA的回答,如果你想給bzip程序最大的低優先級,這樣當其他程序受到的影響最小時,你應該ionice另外使用。請注意,這ionice僅在使用CFQIO 調度程序時有用(核心上的預設設置,但這可能已通過您的安裝進行了調整)。如果您使用or IO 調度程序ionice,AFAIK 將無效。deadline``noop

要驗證您使用的是哪個 IO 調度程序:

cat /sys/block/<DEVICE>/queue/scheduler

<DEVICE>您的硬碟設備在哪裡,例如sda

現在使用ionice,您想設置最低 IO 優先級,即第 3 類。您可以將其與以下各項結合使用nice

$ nice -n 19 ionice -c3 bzip2 <file>

正如 Tom 和 EEAA 所解釋的,這已經足夠好了。當沒有其他程序需要 CPU 或 IO 時,核心將確保 bzip 可以盡可能快地執行。但如果需要,它將優先考慮其他程序。這是推薦的選擇。

替代方案:cpulimit - 以百分比限制 CPU 使用率

現在您仍然可以在 bzip 上使用“CPU 限制”。那不是我的選擇,但如果你想嘗試或更喜歡它,你應該使用cpulimit. 但是,它通常不被打包或在預設的 Linux 安裝中。所以你必須安裝它。NixCraft有一個很好的文件如何安裝和使用cpulimit

官方網站是:http ://cpulimit.sourceforge.net/

引用自:https://unix.stackexchange.com/questions/67943