1. 程式人生 > 其它 >10.CPU資訊檢視詳解

10.CPU資訊檢視詳解

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

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

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

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

    邏輯CPU=物理CPU個數×每顆核數   #不支援超執行緒技術或沒有開啟次技術

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

第一部分cpuinfo檔案內容,涉及的專案解讀

  使用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