linux 查看CPU詳情命令

linux 查看CPU詳情命令: 近期在查看設備CPU因此參考牛人的信息進行了複習及整理。php

1、直觀查詢CPU數量html

邏輯CPU個數: # cat /proc/cpuinfo | grep 'processor' | wc -lnode

物理CPU個數: # cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -lmysql

每一個物理CPU中Core的個數: # cat /proc/cpuinfo | grep 'cpu cores' | wc -llinux

2、查看CPU的詳細信息ios

#cat /proc/cpuinfosql

各個字段意義:php-fpm

processor     邏輯處理器的id。性能

physical id   物理封裝的處理器的id。ui

core id       每一個核心的id。

cpu cores     位於相同物理封裝的處理器中的內核數量。

siblings      位於相同物理封裝的處理器中的邏輯處理器的數量。

具備相同core id的cpu是同一個core的超線程。具備相同physical id的cpu是同一顆cpu封裝的線程或者cores。 若是「siblings」和「cpu cores」一致,則說明不支持超線程,或者超線程未打開。 若是「siblings」是「cpu cores」的兩倍,則說明支持超線程,而且超線程已打開。 顯示4個邏輯CPU,經過physical id,前面兩個邏輯cpu的相同,後面兩個的相同,因此有兩個物理CPU。前面兩個的 core id相同,後面的兩個core ID相同,說明這兩個CPU都是單核。也就是說兩個單核cpu,啓用了超線程技術。

1.擁有相同 physical id 的全部邏輯處理器共享同一個物理插座。每一個 physical id 表明一個惟一的物理封裝。 2.Siblings 表示位於這一物理封裝上的邏輯處理器的數量。它們可能支持也可能不支持超線程(HT)技術。 3.每一個 core id 均表明一個惟一的處理器內核。全部帶有相同 core id 的邏輯處理器均位於同一個處理器內核上。 4.若是有一個以上邏輯處理器擁有相同的 core id 和 physical id,則說明系統支持超線程(HT)技術。 5.若是有兩個或兩個以上的邏輯處理器擁有相同的 physical id,可是 core id 不一樣,則說明這是一個多內核處理器。cpu cores 條目也能夠表示是否支持多內核。 例如,若是系統包含兩個物理封裝,每一個封裝中又包含兩個支持超線程(HT)技術的處理器內核,則 /proc/cpuinfo 文件將包含此數據。(注:數據並不在表格中。)

3、查看CPU的使用狀況

一、top 這個命令很經常使用,在第三行有顯示CPU當前的使用狀況。

# top -bn 1 -i -c

top - 14:19:51 up 138 days, 7:15, 1 user, load average: 0.20, 0.33, 0.39
Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.5%us, 3.8%sy, 0.0%ni, 91.0%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1014660k total, 880512k used, 134148k free, 264904k buffers
Swap: 262140k total, 34788k used, 227352k free, 217144k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12760 root 20 0 15084 1944 1632 R 2.0 0.2 0:00.01 top -bn 1 -i -c

如上所示,top命令能夠看到整體的系統運行狀態和cpu的使用率 。 %us:表示用戶空間程序的cpu使用率(沒有經過nice調度) %sy:表示系統空間的cpu使用率,主要是內核程序。 %ni:表示用戶空間且經過nice調度過的程序的cpu使用率。 %id:空閒cpu %wa:cpu運行時在等待io的時間 %hi:cpu處理硬中斷的數量 %si:cpu處理軟中斷的數量 %st:被虛擬機偷走的cpu

二、vmstat

以前在本博客中有介紹過vmstat的使用,詳細使用和參數介紹參考網址:http://www.sijitao.net/1925.html 。

# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r b swpd free buff cache si so bi bo in cs us sy id wa st
 2 0 34792 68376 147688 356132 16 16 421 385 2 2 5 4 91 1 0
 3 0 34792 97368 147688 326884 0 0 0 0 133 134 15 6 79 0 0
 1 0 34792 62432 147696 360704 0 0 0 88 267 278 63 18 19 0 0
 0 0 34792 97160 147696 326904 0 0 0 0 71 82 12 4 84 0 0
 1 0 34792 56572 147696 364540 0 0 0 4 261 246 61 23 16 0 0

三、sar sar命令語法和vmstat同樣。命令不存在時須要安裝sysstat包,這個包頗有用。 CPU使用率 例如每1秒採集一次CPU使用率,共採集5次。

# sar -u 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:41:25 PM CPU %user %nice %system %iowait %steal %idle
02:41:26 PM all 64.71 0.00 18.63 0.00 0.98 15.69
02:41:27 PM all 29.47 0.00 22.11 14.74 0.00 33.68
02:41:28 PM all 67.33 0.00 31.68 0.99 0.00 0.00
02:41:29 PM all 7.00 0.00 2.00 0.00 0.00 91.00
02:41:30 PM all 69.00 0.00 23.00 0.00 0.00 8.00
Average: all 47.79 0.00 19.48 3.01 0.20 29.52

和top同樣,能夠看到全部cpu的使用狀況。若是須要查看某顆cpu的使用能夠用-P參數。例如指定顯示0號cpu 的使用狀況。

# sar -P 0 -u 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:45:14 PM CPU %user %nice %system %iowait %steal %idle
02:45:15 PM 0 44.00 0.00 52.00 4.00 0.00 0.00
02:45:16 PM 0 9.28 0.00 26.80 62.89 1.03 0.00
02:45:17 PM 0 3.06 0.00 14.29 81.63 1.02 0.00
02:45:18 PM 0 4.12 0.00 22.68 72.16 1.03 0.00
02:45:19 PM 0 4.12 0.00 22.68 72.16 1.03 0.00
Average: 0 13.09 0.00 27.81 58.28 0.82 0.00

進程隊列長度和平均負載狀態 例如每1秒採集一次,共採集5次。

# sar -q 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:48:47 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
02:48:48 PM 1 133 0.34 0.43 0.41
02:48:49 PM 2 132 0.34 0.43 0.41
02:48:50 PM 1 133 0.34 0.43 0.41
02:48:51 PM 2 134 0.31 0.42 0.40
02:48:52 PM 1 133 0.31 0.42 0.40
Average: 1 133 0.33 0.43 0.41

輸出項: runq-sz:運行隊列的長度(等待運行的進程數) plist-sz:進程列表中進程(processes)和線程(threads)的數量 ldavg-1:最後1分鐘的系統平均負載(System load average) ldavg-5:過去5分鐘的系統平均負載 ldavg-15:過去15分鐘的系統平均負載 進程建立的平均值和上下文切換的次數

例如每1秒收集一次,共收集5次。

# sar -w 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:54:03 PM proc/s cswch/s
02:54:04 PM 1.01 156.57
02:54:05 PM 1.00 132.00
02:54:06 PM 2.00 201.00
02:54:07 PM 2.02 126.26
02:54:08 PM 2.00 114.00
Average: 1.61 145.98

sar命令也能夠獲取過去指定日期的性能參數。

# sar -u -f /var/log/sa/sa20
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
01:10:01 PM CPU %user %nice %system %iowait %steal %idle
01:20:02 PM all 25.78 0.00 8.88 3.59 0.15 61.60
01:30:01 PM all 26.06 0.00 9.96 3.33 0.10 60.55
01:40:01 PM all 25.73 0.00 9.17 3.70 0.09 61.32
01:50:01 PM all 25.70 0.00 9.50 2.79 0.12 61.89
02:00:01 PM all 26.70 0.00 9.73 2.20 0.10 61.28
02:10:01 PM all 26.16 0.00 9.56 4.34 0.11 59.82
02:20:01 PM all 25.49 0.00 9.61 2.76 0.07 62.07
02:30:01 PM all 26.47 0.00 9.94 0.64 0.30 62.65
02:40:02 PM all 27.32 0.00 10.37 3.86 0.15 58.30
02:50:02 PM all 26.98 0.00 10.38 4.56 0.13 57.95
Average: all 26.24 0.00 9.71 3.18 0.13 60.74

四、mpstat 這個命令也在sysstat包中,語法相似。 例如每1秒收集一次,共5次。

# mpstat 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
03:01:18 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:01:19 PM all 52.53 0.00 23.23 0.00 0.00 0.00 0.00 0.00 24.24
03:01:20 PM all 21.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 75.00
03:01:21 PM all 53.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 29.00
03:01:22 PM all 26.00 0.00 3.00 0.00 0.00 0.00 0.00 0.00 71.00
03:01:23 PM all 46.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 36.00
Average: all 39.68 0.00 13.23 0.00 0.00 0.00 0.00 0.00 47.09
cpu使用狀況比sar更加詳細些,也能夠用-P指定某顆cpu 。

五、iostat 這個命令主要用來查看io使用狀況,也能夠來查看cpu,我的感受不經常使用。

# iostat -c 1 2
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
 4.53 0.01 3.81 0.63 0.04 90.99
avg-cpu: %user %nice %system %iowait %steal %idle
 38.00 0.00 14.00 0.00 0.00 48.00

六、dstat 每秒cpu使用率狀況獲取

# dstat -c
----total-cpu-usage----
usr sys idl wai hiq siq
 5 4 91 1 0 0
 27 11 62 0 0 0
 52 11 37 0 0 0
 26 10 63 0 0 1
 50 13 37 0 0 1
 21 6 72 0 0 0

最佔cpu的進程獲取

 # dstat --top-cpu-most-expensive- cpu process mysqld 1.5php-fpm: pool 24mysqld 59

相關文章
相關標籤/搜索