問題:
我想問一下是什麼原因導致處理器數量有兩個不同的資訊?請參閱下面的報告。
系統對話框:
如果開啟系統設定/詳細資料標籤(與登出輪和關於此電腦相同),我會收到以下報告:
處理器:Intel® Xeon(R) CPU E5-2680 v3 @ 2.50GHz × 16
CLI:CPU資訊 (1)
儘管如此,使用命令列命令,我得到以下結果:
$ cat /proc/cpuinfo | grep processor | wc -l
24
我傾向於相信命令列報告 - 但什麼可能導致它們不同?
僅供參考:系統監視器還顯示 24 個核心的統計信息
CLI:CPU資訊 (2)
根據評論中的建議,我還運行了以下命令行
$ cat /proc/cpuinfo |grep 'core id'|sort|uniq|wc -l
12
所以現在我甚至有了第三個結果!這是有道理的,因為機器中可能有 12 個核心和 2 個處理器 - 但係統對話框計數怎麼可能是 16?
答案1
我認為 CPU 核心與對稱多處理相關的最佳解釋(界面活性劑)。
英特爾酷睿 2 雙核心顯示實體佈局的圖表。
系統的CPU資訊儲存在該/proc
目錄中。它可以透過lscpu
軟體整齊地呈現出來,如下所示。我舉了三個例子來比較:一個有 2 個 CPU 核心的桌上型電腦、一個有 48 個 CPU 核心的伺服器和一個有 4 個 CPU 核心的 Raspberry Pi。
桌上型電腦 使用者@主機名稱:~$ lscpu 架構:x86_64 CPU 操作模式:32 位元、64 位元 位元組順序:小端 CPU:2 線上 CPU 清單:0,1 每核線程:1 每個插槽的核心數:2 插座:1 NUMA 節點:1 供應商 ID:GenuineIntel CPU系列:6 型號:60 步數:3 CPU兆赫:800.000 博戈MIPS:5586.94 虛擬化:VT-x 一級快取:32K 一級快取:32K 二級快取:256K 三級快取:2048K NUMA 節點 0 CPU:0,1 伺服器 使用者@主機名稱%lscpu 架構:x86_64 CPU 操作模式:32 位元、64 位元 位元組順序:小端 CPU:48 線上 CPU 清單:0-47 每核線程:2 每個插槽的核心數:12 插座:2 NUMA 節點:1 供應商 ID:GenuineIntel CPU系列:6 型號:62 步數:4 CPU兆赫:1799.724 博戈MIPS:3600.09 虛擬化:VT-x 一級快取:32K 一級快取:32K 二級快取:256K 三級快取:30720K NUMA 節點 0 CPU:0-47 樹莓派 傑夫@clear-pi:~ $ lscpu 架構:armv7l 位元組順序:小端 CPU:4 線上 CPU 清單:0-3 每核線程:1 每個插槽的核心數:4 插座:1 型號名稱:ARMv7 處理器版本 5 (v7l) CPU 最大 MHz:900.0000 CPU 最低 MHz:600.0000
伺服器總數為 48,但必須乘以 3 個數字才能達到該數字:2*12*2=48。透過這種方式比較,CPU 製造商的安排差異很明顯。
桌面 [每個核心的執行緒:1] * [每個插槽的核心:1] * [插槽:1] = 2 伺服器 [每個核心的執行緒:2] * [每個插槽的核心:12] * [插槽:2] = 48 樹莓派 [每個核心的執行緒:1] * [每個插槽的核心:4] * [插槽:1] = 4
lshw
有更多系統信息,但在這裡不太有用。
桌上型電腦 使用者@主機名稱:~$ sudo lshw *-中央處理器 說明:CPU 產品:Intel(R) 賽揚(R) CPU G1840 @ 2.80GHz 供應商:英特爾公司 物理 ID:9 總線資訊:cpu@0 版本:Intel(R) Celeron(R) CPU G1840 @ 2.80GHz 插槽:插座0 尺寸:2800MHz 容量:3800MHz 寬度:64 位元 時脈:100MHz 伺服器 使用者@主機名稱% sudo lshw *-CPU:0 說明:CPU 產品:Intel(R) Xeon(R) CPU E5-2651 v2 @ 1.80GHz 供應商:英特爾公司 物理 ID:4 總線資訊:cpu@0 版本:Intel(R) Xeon(R) CPU E5-2651 v2 @ 1.80GHz 插槽:插座0 尺寸:1800MHz 容量:4GHz 寬度:64 位元 時脈:100MHz 樹莓派 使用者@主機名稱:~ $ sudo lshw *-CPU:0 說明:CPU 產品: 中央處理器 物理 ID:0 總線資訊:cpu@0 尺寸:900MHz 容量:900MHz 功能:CPU頻率
最後,這個方法對我來說在幾個不同的 Linux/UNIX 作業系統上都有效,其中 lscpu 不可用。這是問題和評論中建議的內容的變體,但我更喜歡簡寫命令和簡單的輸出。
user@hostname:~ $ grep -c ^processor /proc/cpuinfo
4
參考:https://stackoverflow.com/questions/19225859/difference- Between-core-and-processor