在下一篇文章中,我們將看一下CPULimit。 這是一個命令行工具, 限制進程的CPU使用率(以百分比表示,而不是CPU時間)。 當我們不希望進程消耗太多的CPU週期時,這對於控制批處理作業很有用。
使用此工具,我們不會更改值或其他優先級設置,而會更改CPU的實際使用情況。 另外,它能夠動態,快速地適應系統的一般負載。 通過使用以下命令控制使用的CPU數量 信號 停止信號 y 信號控制 POSIX 到流程。 指定進程的所有子進程和線程將共享相同的CPU百分比。
安裝CPULimit
現“ CPULimit”為 在大多數類似Unix發行版的默認存儲庫中可用。 我們可以使用各自的Gnu / Linux發行版中的默認軟件包管理器進行安裝。 對於當前的示例,我們將看到如何在Debian,Ubuntu和Linux Mint上安裝它。 我們只需要打開一個終端(Ctrl + Alt + T)並在其中編寫以下命令:
sudo apt-get install cpulimit
谁愿意諮詢其他類型的設施 項目GitHub頁面.
使用CPULimit
安裝該工具後,就該看看它是如何工作的。 為此,我們將運行一個消耗大量CPU資源的程序。 以下命令必須以root用戶身份運行。
創建消耗CPU資源的腳本
首先我們要 創建一個名為derrochecpu.sh的文件。 我將使用 Vim編輯器,但每個人都使用自己喜歡的一種。 在終端(Ctrl + Alt + T)中,我們必須編寫:
vim derrochecpu.sh
打開後,我們將按“鍵ESC' 接著 'i'。 現在,我們將添加以下行:
#!/bin/bash while :; do :; done;
完成此操作後,就該保存並退出了。 為此,我們將按'鍵ESC'我們將寫 :WQ 保存並關閉文件。 該簡短腳本將重複執行而不會中斷,從而消耗最大的CPU使用率。 因此,建議在虛擬機中對其進行測試。
現在,我們將使該文件可執行。 為此,從同一終端(Ctrl + Alt + T),我們將執行:
chmod +x derrochecpu.sh
啟動腳本
現在,我們將在後台啟動該過程。 我們將使用以下命令執行此操作:
./derrochecpu.sh &
我們將保留過程的PID。 在這種情況下,6472是啟動進程的PID。
檢查它消耗了多少CPU
我們可以使用 命令«頂部» 在同一終端:
top
從上面的屏幕截圖可以看出,wastecpu.sh進程消耗了超過96%的CPU使用率。 由於它消耗大量的CPU使用率,因此很難執行其他任務。 幾分鐘後, 系統可能崩潰或死機。 這就是CPULimt協助我們的地方。
通過PID限制CPU使用率
現在,讓我們使用CPULimit工具限制此進程的CPU使用率。 我們準備去 通過其相應的PID將CPU使用率限制為35% (關於)。 為此,請運行:
cpulimit -l 35 -p 6472 &
- 選項 ”-l 35»將過程限制為大約35%。
- «-p 6472»這是我們之前看到的derrochecpu.sh的PID。
檢查CPULimit的效果
啟動上一個命令後,讓我們再次檢查該進程的CPU使用率。 為此,我們將再次使用top命令:
top
從上圖可以看到,wastefulcpu.sh的CPU使用率已降至35,6%,非常接近35%。 現在呀 我們可以擁有更多的CPU資源來運行其他進程.
通過文件名限制CPU使用率
我們已經看到瞭如何使用PID來限製過程。 也 我們可以執行CPULimit命令,指定可執行程序文件的名稱.
例如,上面的相同示例將是:
cpulimit -l 30 ./derrochecpu.sh &
在運行消耗過多CPU使用量的進程時,CPULimit可能很有用。 下次我們注意到某個程序消耗了太多的CPU時,我們只需要使用命令«查找該進程的PID,最佳«。 有了它時,只需使用本文所述的CPULimit命令將CPU使用率限制為最小值。
卸載CPULimit
從我們的系統中刪除此工具非常簡單,只需打開一個終端(Ctrl + Alt + T)並輸入以下內容即可:
sudo apt remove cpulimit
本文描述了什麼 這只是一個例子。 顯然,沒有人會在自己的計算機上啟動像此處描述的腳本那樣的腳本。
你好
對於我所擁有的amd64 x2似乎有散熱問題的舊PC而言,它是完美的選擇,當某個進程在幾分鐘內消耗大量CPU時,它會加熱到100ºC並關閉。
因此,當我看到某個進程(通常是一些網站或視頻渲染程序)使我升高CPU的溫度時,我將使用cpulimit來消除該進程中的“電源”。
謝謝