Linux:cat /proc/cpuinfo 查看CPU信息


在Linux系統中, /proc 目錄下提供了很多的文件來顯示系統的軟硬件信息。如果想了解系統中的CPU提供者及相關配置信息,可以查看 /proc/cpuinfo 。比如我們要獲取物理CPU的數量、每個物理cpu的核心數、是否開啟超線程等信息。

 

首先要搞清楚物理CPU核心數邏輯CPU數的概念:

物理CPU數量(physical id):主板上實際插入的CPU數量,有幾個可以通過不重復物理id來統計。

CPU核數(cpu cores):單個CPU上可以處理數據的芯片組數量,如雙核、四核等。

邏輯CPU數量:一般來說,

  邏輯CPU = 物理CPU數 × 核心數              # 不支持超線程技術

  邏輯CPU = 物理CPU數量 × 每個CPU核心數量 * 2  # 表示服務器的CPU支持超線程技術(簡單來說就是可以讓處理器中的1個核心成為操作系統中的2個核心。這樣,操作系統可用的執行資源翻了一番,大大提高了系統的整體性能)

 

文件 /proc/cpuinfo 顯示了系統正在運行的處理器類型,包括存在的 CPU 數量。這是系統的  cat /proc/cpuinfo  的示例輸出。

ubuntu@VM-0-13-ubuntu:~$ cat /proc/cpuinfo 
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 79
model name    : Intel(R) Xeon(R) CPU E5-26xx v4
stepping    : 1
microcode    : 0x1
cpu MHz        : 2394.454
cache size    : 4096 KB
physical id    : 0
siblings    : 2
core id        : 0
cpu cores    : 2
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 ht syscall nx lm constant_tsc rep_good nopl cpuid tsc_known_freq 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 pti bmi1 avx2 bmi2 rdseed adx xsaveopt
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds
bogomips    : 4788.90
clflush size    : 64
cache_alignment    : 64
address sizes    : 40 bits physical, 48 bits virtual
power management:

processor    : 1
vendor_id    : GenuineIntel
cpu family    : 6
model        : 79
model name    : Intel(R) Xeon(R) CPU E5-26xx v4
stepping    : 1
microcode    : 0x1
cpu MHz        : 2394.454
cache size    : 4096 KB
physical id    : 0
siblings    : 2
core id        : 1
cpu cores    : 2
apicid        : 1
initial apicid    : 1
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 ht syscall nx lm constant_tsc rep_good nopl cpuid tsc_known_freq 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 pti bmi1 avx2 bmi2 rdseed adx xsaveopt
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds
bogomips    : 4788.90
clflush size    : 64
cache_alignment    : 64
address sizes    : 40 bits physical, 48 bits virtual
power management:

解釋如下:

processor:系統中邏輯處理核心的數量。對於單核處理器,該類將其視為 CPU 編號,對於多核處理器,它可以是物理內核,也可以是使用超線程技術的虛擬邏輯內核。(processor內核內部使用的對象,不一定綁定到物理設備,它們可能都具有相同的 physical id)

vendor_id:CPU制造商。

cpu family:CPU 產品系列代號。

mode:cpu屬於其系列中的哪一代。

model name:CPU的名稱及其編號,標稱頻率。

stepping:CPU屬於生產更新版本。

cpu MHz:實際CPU頻率。

cache size:CPU二級緩存的大小。

physical id:單個物理CPU標號。

siblings:單個物理 CPU 的邏輯 CPU 數量。siblings = cpu 核心 * [2]。

core id:當前所在CPU中的物理內核id。

cpu cores:邏輯核所在CPU的物理核數。比如這里有2個cpu core,對應的core id是0、1。

apicid:用於區分不同邏輯核心的編號。系統中每個邏輯核的編號必須不同,編號不一定是連續的。

fpu:是否有浮點單元。(Floating Point Unit)

fpu_exception:是否支持浮點計算異常。

cpuid level:在執行cpuid指令之前,eax寄存器中的值會根據不同的值返回不同的內容。

wp:表示當前CPU是否支持內核態用戶空間寫保護。(Write Protection)

flags:當前CPU支持的功能,例如浮點單元 (FPU) 的存在和處理 MMX 指令的能力。。

bogomips:粗略測量的 CPU 速度(每秒百萬條指令)。

clflush size:每個flush緩存的大小單位。

cache_alignment:緩存地址對齊單元。

address sizes:可訪問地址空間的數量。

power management:支持電源管理。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM