linux下查看cpu物理個數和邏輯個數

processor	: 47
vendor_id	: GenuineIntel
cpu family	: 6
model		: 46
model name	: Intel(R) Xeon(R) CPU           E7540  @ 2.00GHz
stepping	: 6
microcode	: 0x7
cpu MHz		: 1064.000
cache size	: 18432 KB
physical id	: 3
siblings	: 12
core id		: 11
cpu cores	: 6
apicid		: 119
initial apicid	: 119
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 x2apic popcnt lahf_lm ida dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips	: 3995.58
clflush size	: 64
cache_alignment	: 64
address sizes	: 44 bits physical, 48 bits virtual
power management:

輸入命令cat /proc/cpuinfo 查看physical id有幾個,上述結果顯示只有3,所以有4個物理cpu;查看processor有幾個,上述結果顯示有0到47總計48,所以有48個邏輯cpu。

(一)概念
① 物理CPU
實際Server中插槽上的CPU個數
物理cpu數量,可以數不重複的 physical id 有幾個
② 邏輯CPU 
 /proc/cpuinfo 用來存儲cpu硬件信息的
信息內容分別列出了processor 0 –processor n 的規格。這裏需要注意,n是邏輯cpu數
一般情況,我們認爲一顆cpu可以有多核,加上intel的超線程技術(HT), 可以在邏輯上再分一倍數量的cpu core出來
邏輯CPU數量=物理cpu數量 x cpu cores 這個規格值 x 2(如果支持並開啓ht)    
備註一下:Linux下top查看的CPU也是邏輯CPU個數
 ③ CPU核數
一般來說,物理CPU個數×每顆核數就應該等於邏輯CPU的個數,如果不相等的話,則表示服務器的CPU支持超線程技術 
㈡ 查看CPU信息
當我們 cat /proc/cpuinfo 時、
具有相同core id的CPU是同一個core的超線程
具有相同physical id的CPU是同一個CPU封裝的線程或核心
㈢ 下面舉例說明
① 查看物理CPU的個數
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l  
2  
② 查看邏輯CPU的個數
#cat /proc/cpuinfo |grep "processor"|wc -l  
24  
③ 查看CPU是幾核
#cat /proc/cpuinfo |grep "cores"|uniq  
6

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章