linux服務器cpu信息查看詳解


  在linux系統中,提供了/proc目錄下文件,顯示系統的軟硬件信息。如果想了解系統中CPU的提供商和相關配置信息,則可以查/proc/cpuinfo。但是此文件輸出項較多,不易理解。例如我們想獲取,有多少顆物理CPU,每個物理cpu核心數,以及邏輯cpu和超線程等信息,下面我們就看來一步一步的去探索。

  首先要明確物理CPU、核數、邏輯cpu數的概念

①物理CPU數(physical id):主板上實際插入的cpu數量,可以數不重復的 physical id 有幾個

②CPU核心數(cpu cores):單塊CPU上面能處理數據的芯片組的數量,如雙核、四核等 

③邏輯CPU數:一般情況下,

  邏輯CPU=物理CPU個數×每顆核數       #不支持超線程技術或沒有開啟次技術

  邏輯CPU=物理CPU個數×每顆核數 *2     #表示服務器的CPU支持超線程技術(簡單來說,它可使處理器中的1 顆內核如2 顆內核那樣在操作系統中發揮作用。這樣一來,操作系統可使用的執行資源擴大了一倍,大幅提高了系統的整體性能)

第一部分cpuinfo文件內容,涉及的項目解讀

  話不多少,看圖說話。下圖是我負責維護的一台服務器的CPU信息。使用cat  /proc/cpuinfo。足足輸出1500+條記錄。其中內容均和下圖相似,不同的是“:”右邊的信息不同。

 

  下面對上圖的輸出內容進行相應解釋

processor :系統中邏輯處理核心數的編號,從0開始排序。

vendor_id :CPU制造商

cpu family :CPU產品系列代號

model   :CPU屬於其系列中的哪一代的代號

model name:CPU屬於的名字及其編號、標稱主頻

stepping  :CPU屬於制作更新版本

cpu MHz  :CPU的實際使用主頻

cache size :CPU二級緩存大小

physical id :單個物理CPU的標號

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

core id :當前物理核在其所處CPU中的編號,這個編號不一定連續。

cpu cores :該邏輯核所處CPU的物理核數。比如此處cpu cores 是4個,那么對應core id 可能是 1、3、4、5。

apicid :用來區分不同邏輯核的編號,系統中每個邏輯核的此編號必然不同,此編號不一定連續

fpu :是否具有浮點運算單元(Floating Point Unit)

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

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

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

flags :當前CPU支持的功能

bogomips:在系統內核啟動時粗略測算的CPU速度

clflush size :每次刷新緩存的大小單位

cache_alignment :緩存地址對齊單位

address sizes :可訪問地址空間位數

power management :對能源管理的支持

第二部分快速查詢想要獲取的信息

①查詢系統有幾顆物理CPU:cat  /proc/cpuinfo | grep "physical id" |sort |uniq

 

②查詢系統每顆物理CPU的核心數:cat /proc/cpuinfo | grep "cpu cores" | uniq

 

③查詢系統的每顆物理CPU核心是否啟用超線程技術。如果啟用此技術那么,每個物理核心又可分為兩個邏輯處理器。

  cat /proc/cpuinfo | grep -e "cpu cores"  -e "siblings" | sort | uniq

   

  如果cpu cores數量和siblings數量一致,則沒有啟用超線程,否則超線程被啟用。

 

④查詢系統具有多少個邏輯CPU:cat /proc/cpuinfo | grep "processor" | wc -l

 

 補充一個小知識

         查看linux是物理機還是虛擬機:dmidecode -s system-product-name

 

如果有寫的錯的地方,歡迎指正,聯系吳西鑫。

 


免責聲明!

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



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