使用taskset命令來限制程序的CPU

2022-01-30 15:42:50 字數 911 閱讀 9749

常常感覺系統資源不夠用,一台機子上跑了不下3個比較重要的服務,但是每天我們還要在上面進行個備份壓縮等處理,網路長時間傳輸,這在就很影響本就不夠用的系統資源;

這個時候我們就可以把一些不太重要的比如copy/備份/同步等工作限定在一顆cpu上,或者是多核的cpu的一顆核心上進行處理,雖然這不一定是最有效的方法,但可以最大程度上利用了有效資源,降低那些不太重要的程序占用cpu資源;

taskset就可以幫我們完成這項工作,而且操作非常簡單;

該工具系統預設安裝,rpm包名util-linux

借助乙個例子說明,借助以前寫過的乙個消耗cpu的指令碼 原]消耗cpu資源的shell指令碼 ,將一台16個cpu的機器上其中4個cpu的資源耗盡:

使用 top 命令能看到4顆cpu跑滿的效果:

現在可以使用 taskset 命令調整這些程序所使用的cpu了:

taskset -cp 1  25718

taskset -cp 3 25720

taskset -cp 5 25722

taskset -cp 7 25724

在top中再看看效果:

哈哈,cpu的使用得到調配了,同樣我們可以使某個程序僅使用其中幾個cpu:

taskset -cp 1,2  25718
更詳細的資訊可以用 man taskset 檢視。

使用taskset命令來限制程序的CPU

常常感覺系統資源不夠用,一台機子上跑了不下3個比較重要的服務,但是每天我們還要在上面進行個備份壓縮等處理,網路長時間傳輸,這在就很影響本就不夠用的系統資源 這個時候我們就可以把一些不太重要的比如copy 備份 同步等工作限定在一顆cpu上,或者是多核的cpu的一顆核心上進行處理,雖然這不一定是最有效...

7限制cpu使用 macOS限制CPU或程序使用率

因為公升級macos big sur 帶來的notes耗用cpu嚴重問題,繼續跟進 重製smc也不能解決問題。所以在上篇文章中通過殺程序來臨時解決。總感覺這個辦法太過粗魯且不夠優雅。測試使用nice也沒有效果 nice和renice並不限制給定應用程式本身可用的cpu百分比,但是它們允許改變排程優先...

使用命令來結束程序

taskkill 說明 這個命令列工具可用來結束至少乙個程序。可以根據程序 id 或影象名來結束程序。可通過taskkill 在獲得詳細幫助。支援系統winxp以上。例如 taskkill s system f im notepad.exe t taskkill pid 1230 pid 1241 ...