Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux CPU 拓撲一鍵查看:物理核心、邏輯核心、超執行緒完整辨識

編輯:Linux 系統常見問題解答

lscpu 輸出一堆數字,到底幾顆物理 CPU?幾核心?有沒有超執行緒?本文提供三條指令精準辨識 CPU 拓撲,並解釋 /proc/cpuinfo 關鍵欄位含義。

核心概念

術語定義查看方式
Physical CPU (Socket)主板插槽數量physical id 去重計數
Cores per Socket單顆 CPU 核心數cpu cores 欄位
Logical CPU (vCPU)OS 可見的邏輯處理器processor 計數
Hyper-Threading (HT)單核心雙執行緒Logical = Physical × Cores × 2

三條黃金指令

1. 物理 CPU 數量

grep 'physical id' /proc/cpuinfo | sort -u | wc -l
# 輸出範例:2  → 兩顆物理 CPU

2. 每顆 CPU 核心數

grep 'cpu cores' /proc/cpuinfo | uniq | awk -F': ' '{print $2}'
# 輸出範例:8  → 每顆 8 核心

3. 邏輯 CPU 總數

grep -c '^processor' /proc/cpuinfo
# 或
nproc
# 輸出範例:32  → 2 × 8 × 2 = 32(已開啟 HT)

一鍵綜合報表腳本

#!/bin/bash
# cpu_topology.sh
phy=$(grep 'physical id' /proc/cpuinfo | sort -u | wc -l)
cores=$(grep 'cpu cores' /proc/cpuinfo | uniq | awk -F': ' '{print $2}')
logical=$(grep -c '^processor' /proc/cpuinfo)
ht=$(( logical == phy * cores * 2 ? "YES" : "NO" ))

echo "================ CPU Topology ================"
echo "Physical CPUs (Sockets) : $phy"
echo "Cores per Socket        : $cores"
echo "Logical CPUs (vCPUs)    : $logical"
echo "Hyper-Threading Enabled : $ht"
echo "=============================================="

# 詳細核心對應關係
echo -e "\nCore ↔ Thread mapping:"
lscpu -p=CPU,Core,Socket,Node | tail -n +4 | sort -n | column -t

輸出範例解讀

================ CPU Topology ================
Physical CPUs (Sockets) : 2
Cores per Socket        : 10
Logical CPUs (vCPUs)    : 40
Hyper-Threading Enabled : YES
==============================================

Core ↔ Thread mapping:
CPU  Core  Socket  Node
0    0     0       0
1    0     0       0   ← 同核心雙執行緒
2    1     0       0
3    1     0       0
...
38   9     1       1
39   9     1       1

關鍵欄位對照表(/proc/cpuinfo)

欄位含義用途
processor邏輯 CPU 編號 (0..N-1)綁定執行緒親和性 taskset -c
physical id物理 CPU 插槽編號跨 NUMA 節點調度
core id核心編號(在同一 physical id 內唯一)識別 HT 姊妹執行緒
cpu cores該物理 CPU 總核心數驗證規格一致性
siblings該物理 CPU 總邏輯 CPU 數siblings = cpu cores × (HT?2:1)
flagsCPU 特性旗標ht 表示支援超執行緒
model name處理器型號對照廠商規格表

實戰場景

  • 授權合規:Oracle/IBM 軟體授權按 Physical CPU × Core Factor 計費,必須精確回報物理核心數
  • 效能調優:關閉 HT 後 logical = physical × cores,減少緩存爭用,適合高頻交易、HPC
  • 容器資源配額:K8s cpu: "2" 代表 2 vCPU(邏輯核心),需知曉底層 HT 狀態評估實際算力
  • NUMA 感知部署:結合 numactl --hardware 確認 Node 分佈,避免跨節點記憶體存取

結語: 三條指令、一個腳本,徹底搞清 CPU 拓撲。下次採購、授權、調優、排程,直接產出 cpu_topology.sh 報告,專業又高效。

Copyright © Windows教程網 All Rights Reserved