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