linux的cpu信息可以從文件中cpuinfo讀取。
執行命令:
[root@liuli ~]# cat /proc/cpuinfo
processor : 0 #邏輯核,它的計數是從0開始的,例如這里看到的是0,那我們一般就說這個機器是1核的,說的實際是邏輯核
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz #cpu的名稱,型號,主頻
stepping : 4
microcode : 0x1
cpu MHz : 2499.988 #實際主頻
cache size : 33792 KB
physical id : 0 #單個cpu的標號
siblings : 1 #單cpu的邏輯核數
core id : 0
cpu cores : 1 #邏輯核所處cpu的物理核
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1
bogomips : 4999.97
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
執行命令:
#cat /proc/cpuinfo | grep "physical id" | uniq | wc -l查看機器一共幾個cpu
[root@liuli ~]# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
1 #這個是一個cpu
[root@liuli ~]#
1
2
3
執行命令:
#cat /proc/cpuinfo | grep "cpu cores" | uniq查看單個cpu的物理核數
[root@liuli ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 1 #這里為1核
1
2
執行命令:
#cat /proc/cpuinfo | grep "processor" |wc -l查看總邏輯核數
[root@liuli ~]# cat /proc/cpuinfo | grep "processor" | wc -l
1 #總邏輯核數為1
1
2
這里cpu個數×物理核數 = 總邏輯核數
說明cpu沒有超線程。
執行top命令,然后按1
可以查看所有邏輯核的負載。
補充:
1.物理cpu數:主板上實際插入的cpu數量,可以數不重復的 physical id 有幾個(physical id)
2.cpu核數:單塊CPU上面能處理數據的芯片組的數量,如雙核、四核等 (cpu cores)
3.邏輯cpu數:一般情況下,邏輯cpu=物理CPU個數×每顆核數,如果不相等的話,則表示服務器的CPU支持超線程技術(HT:簡單來說,它可使處理器中的1 顆內核如2 顆內核那樣在操作系統中發揮作用。這樣一來,操作系統可使用的執行資源擴大了一倍,大幅提高了系統的整體性能,此時邏輯cpu=物理CPU個數×每顆核數x2)