lscpu
命令(最簡方法)lscpu
是Linux下專門用于顯示CPU架構信息的工具,其輸出中的**Thread(s) per core
(每核心線程數)是判斷超線程的關鍵指標。若該值大于1**,則說明系統啟用了超線程技術。
示例:若輸出為Thread(s) per core: 2
,表示每個物理核心對應2個邏輯線程,即超線程已啟用。
/proc/cpuinfo
文件(底層數據源)/proc/cpuinfo
包含了CPU的詳細拓撲信息,通過以下字段組合可準確識別超線程:
physical id
的邏輯處理器屬于同一物理CPU封裝;core id
的邏輯處理器屬于同一物理核心;physical id
和core id
,則說明這些邏輯處理器是同一核心的超線程線程(即超線程啟用)。siblings
(物理封裝內的邏輯處理器總數)應是cpu cores
(物理封裝內的物理核心數)的2倍(如siblings=4
、cpu cores=2
),則表示每個核心有2個線程,超線程啟用。flags
字段)在/proc/cpuinfo
中,每個邏輯處理器的flags
字段列出了CPU支持的特性。若包含**ht
(Hyper-Threading的縮寫),則表示該CPU支持超線程技術**(但無法直接判斷是否啟用,需結合前面的線程/核心數驗證)。
示例:flags: ... ht ...
即表示支持超線程。
dmidecode
命令(硬件級確認)dmidecode
可讀取BIOS中的硬件信息,通過processor
類型獲取超線程狀態。需管理員權限(sudo
),命令如下:
sudo dmidecode -t processor | grep -i "Thread(s) per core"
若輸出結果中的Thread(s) per core
大于1,則說明超線程已啟用(如輸出Thread(s) per core: 2
)。
Thread(s) per core > 1
(lscpu
/dmidecode
)或相同physical id
+core id
的邏輯處理器存在(/proc/cpuinfo
);flags
中包含ht
(/proc/cpuinfo
)。通過上述方法,可全面識別Linux系統中CPU是否支持及啟用了超線程技術。