tft每日頭條

 > 科技

 > linux查看進程使用的cpu

linux查看進程使用的cpu

科技 更新时间:2024-07-26 06:24:36

linux查看進程使用的cpu?方法一:使用top命令top 命令可以顯示進程在哪個CPU上運行,可以連續監視随着時間的改變,該進程運行在哪個CPU上是否發生變化,下面我們就來說一說關于linux查看進程使用的cpu?我們一起去了解并探讨一下這個問題吧!

linux查看進程使用的cpu(linux系統下怎麼查看進程在哪個cpu上)1

linux查看進程使用的cpu

linux怎麼查看進程在哪個cpu上

方法一:使用top命令

top 命令可以顯示進程在哪個CPU上運行,可以連續監視随着時間的改變,該進程運行在哪個CPU上是否發生變化。

使用步驟:

top -p [進程号],例如 top -p 3000

按下"F"鍵,使用上下鍵選擇P = Last Used cpu,并按下空格鍵,出現 “*”即代表選中,再按“q"退出。

方法二:使用taskset命令

taskset可以查看具體某一進程(或 線程)運行在哪個cpu上,也可以使某個程序運行在某個或某些cpu上

taskset 參數選項:

(1)-p, --PID :操作現有的PID,不啟動新任務

(2)-c, --cpu-list :指定處理器的數字列表,而不是位掩碼。列表可以包含多個項目,以逗号和範圍分隔。例如,0、5、7、9 - 11。

1)顯示進程運行的CPU: -p參數

例子1:

[root@localhost ~]# taskset -p 21184

顯示結果:

pid 21184’s current affinity mask: ffffff

注:21184是進程編号。顯示結果的ffffff實際上是二進制24個低位均為1的bitmask,每一個1對應于1個CPU,表示該進程在24個CPU上運行。

例子2:

[root@localhost ~]# taskset -p 2030

顯示結果:

pid2030’s current affinity mask: f

注:說明sshd在4顆CPU上随機進行切換。

例子3:

[root@localhost ~]# taskset -p 2726

顯示結果:

pid 2726’s current affinity mask: 3

注:顯示的十進制數字3轉換為2進制為最低兩個是1,每個1對應一個cpu,所以進程運行在2個cpu上。

*注意:*cpu的标号是從0開始的,所以cpu1表示第二個cpu(第一個cpu的标号是0)。

關于換算方式

8個核心的CPU ID: 7 6 5 4 3 2 1 0

對應10的十進制數位: 128 64 32 16 8 4 2 1

十六進制的16個數是:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

對應每一個16進制的二進制位:0=0000,1=0001,2=0010,3=0011,4=0100,5=0101,6=0110,7=0111,8=1000,9=1001,A=1010,

B=1011,C=1100,D=1101,E=1110,F=1111

那麼例如出現pid 8987’s current affinity mask: ff ff是16進制,轉換二進制:11111111,意思就是sshd在8個CPU上進行卻換!所以對應每一個數值!

比如說16進制的40,那麼轉換二進制01000000,意思就是在第7塊CPU上運作

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved