Linux下調節CPU使用的幾種方法

2021-06-22 12:31:17 字數 1787 閱讀 1774

一,使用taskset充分利用多核cpu,讓cpu的使用率均衡到每個cpu上

#taskset

-p,    設定乙個已存在的pid,而不是重新開啟乙個新任務

-c,    指定乙個處理,可以指定多個,以逗號分隔,也可指定範圍,如:2,4,5,6-8。

1,切換某個程序到指定的cpu上

taskset -cp 3 13290

2,讓某程式執行在指定的cpu上

taskset -c 1,2,4-7 tar jcf test.tar.gz test

需要注意的是,taskset -cp 3 13290在設定乙個已經存在的pid時,子程序並不會繼承父程序的,

因此像tar zcf ***.tar.gz ***這樣的命令,最好在啟動時指定cpu,如果在已經啟動的情況下,則需要指定tar呼叫的gzip程序。

二,使用nice和renice設定程式執行的優先順序

格式:nice [-n 數值] 命令

nice 指令可以改變程式執行的優先權等級。指令讓使用者在執行程式時,指定乙個優先等級,稱之為 nice 值。

這個數值從最高優先順序的-20到最低優先順序的19。負數值只有 root 才有權力使。

一般使用者,也可使用 nice 指令來做執行程式的優先順序管理,但只能將nice值越調越高。

可以通過二種方式來給某個程式設定nice值:

1,開始執行程式時給定乙個nice值,用nice命令

2,調整某個執行中程式的pid的nice值,用renice命令

通常通過調高nice值來備份,為的是不占用非常多的系統資源。

例:nice -n 10 tar zcf test.tar.gz test

由nice啟動的程式,其子程序會繼承父程序的nice值。

檢視nice值

# nice -n -6 vim test.txt &

# ps -l

f s   uid   pid  ppid  c pri  ni addr sz wchan  tty          time cmd

4 s     0 19427  2637  0  75   0 – 16551 wait   pts/6    00:00:00 bash

4 t     0 21654 19427  0  71  -6 – 23464 finish pts/6    00:00:00 vim

renice調整執行中程式的nice值

格式:renice [nice值] pid

三,使用ulimit限制cpu占用時間

注意,ulimit 限制的是當前shell程序以及其派生的子程序。因此可以在指令碼中呼叫ulimit來限制cpu使用時間。

例如,限制tar的cpu占用時間,單位秒。

# cat limit_cpu.sh

ulimit -sht 100

tar test.tar.gz test

如果tar占用時間超過了100秒,tar將會退出,這可能會導致打包不完全,因此不推薦使用ulimit對cpu占用時間進行限制。

另外,通過修改系統的/etc/security/limits配置檔案,可以針對使用者進行限制。

四,使用程式自帶的對cpu使用調整的功能

某些程式自帶了對cpu使用調整的功能,比如nginx伺服器,通過其配置檔案,可以為工作程序指定cpu,如下:

worker_processes  3;

worker_cpu_affinity 0001 0010 0100 1000;

這裡0001 0010 0100 1000是掩碼,分別代表第1、2、3、4顆cpu核心,這就使得cpu的使用比較平均到每個核心上。

cpu使用率 設計軟體調節CPU使用率及更改優先順序

一 設計師有時需要同時開啟不同的設計軟體,但有些設計軟體占用資源很高,像3dmax渲染時會占用所有cpu資源基本做不了其它操作,用以下方法就可以調節cpu使用率。1 以7800x6核12執行緒操作3dmax2018為例。2 開啟任務管理器點詳細資訊,右擊cpu資源使用最高的 3dmax主程式 在彈出...

linux 下檢視機器是cpu是幾核的

幾個cpu more proc cpuinfo grep physical id uniq wc l 每個cpu是幾核 假設cpu配置相同 more proc cpuinfo grep physical id grep 0 wc l cat proc cpuinfo grep processor 1...

linux 下檢視機器是cpu是幾核的

檢視各cpu狀況,top 然後按1 1.檢視物理cpu的個數 cat proc cpuinfo grep physical id sort uniq wc l 2.檢視邏輯cpu的個數 cat proc cpuinfo grep processor wc l 3.檢視cpu是幾核 cat proc ...