Ubuntu
如何以最小 cpu 百分比壓縮文件?
我正在使用 bzip2 壓縮文件,該過程需要 100% 以上的 cpu。有沒有辦法以最小的 CPU 百分比執行 bzip2。
此程序是否會干擾您系統上的其他程序?為什麼要限制 bzip2 使用的 CPU?
您可以使用該
nice
命令更改程序的優先級:$ nice -n 19 bzip2 <file>
此外,您可以嘗試降低
bzip2
壓縮級別:$ bzip2 -1 <file>
推薦:使用優先級
除了@EEAA的回答,如果你想給bzip程序最大的低優先級,這樣當其他程序受到的影響最小時,你應該
ionice
另外使用。請注意,這ionice
僅在使用CFQ
IO 調度程序時有用(核心上的預設設置,但這可能已通過您的安裝進行了調整)。如果您使用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
。