上位机知识篇---Linux\Windows操作系统下获取逻辑处理器数
文章目录
- 前言
- 一、Linux 系统
- 1. 查看逻辑处理器数(总线程数)
- 2. 查看物理核心数
- 方法1
- 方法2
- 3. 查看物理 CPU 个数
- 方法1
- 方法2
- 4. 完整 CPU 信息
- 二、Windows 系统
- 1. 通过任务管理器
- 2. 通过系统信息工具
- 3. 通过命令行(CMD/PowerShell)
- 4. 通过 PowerShell
- 三、总结
前言
通过以下方法,可以在Linux、Windows操作系统下快速获取 CPU 的物理核心数、逻辑处理器数和物理 CPU 数量,用于make的多核编译。
一、Linux 系统
1. 查看逻辑处理器数(总线程数)
逻辑处理器数是 CPU 物理核心数 × 超线程数(如果有)。
以下命令均可显示逻辑处理器总数:
#方法1: 直接显示可用逻辑处理器数
nproc
#方法2: 从 /proc/cpuinfo 统计
grep -c "processor" /proc/cpuinfo
#方法3: 使用 lscpu 命令
lscpu | grep "CPU(s):" | head -n 1
2. 查看物理核心数
物理核心数是 **CPU 的实际物理核心数量(**不包含超线程):
方法1
#方法1: 通过 lscpu 命令
lscpu | grep "Core(s) per socket"
方法2
#方法2: 从 /proc/cpuinfo 统计唯一核心ID
grep "core id" /proc/cpuinfo | sort -u | wc -l
3. 查看物理 CPU 个数
物理 CPU 指主板上实际安装的 CPU 数量:
方法1
#方法1: 通过 lscpu 命令
lscpu | grep "Socket(s)"
方法2
#方法2: 从 /proc/cpuinfo 统计唯一物理ID
grep "physical id" /proc/cpuinfo | sort -u | wc -l
4. 完整 CPU 信息
使用 lscpu 命令查看所有 CPU 详细信息:
lscpu
输出示例:
Architecture: x86_64
CPU(s): 16 # 逻辑处理器总数
Thread(s) per core: 2 # 每个物理核心的线程数(超线程)
Core(s) per socket: 8 # 每个 CPU 的物理核心数
Socket(s): 1 # 物理 CPU 个数
...
二、Windows 系统
1. 通过任务管理器
- 按下 Ctrl + Shift + Esc 打开任务管理器。
- 切换到 性能 标签页。
- 点击 CPU,查看右下角的 **核心数(物理核心数)**和 逻辑处理器数(总线程数)。
2. 通过系统信息工具
- 按下 Win + R,输入 msinfo32 并回车。
- 在 系统摘要 中查找 处理器 条目,显示格式为:
Intel® Core™ i7-10700K CPU @ 3.80GHz, 8 核心数, 16 逻辑处理器数。
3. 通过命令行(CMD/PowerShell)
cmd
:: 查看逻辑处理器数
wmic cpu get NumberOfLogicalProcessors
:: 查看物理核心数
wmic cpu get NumberOfCores
:: 查看物理 CPU 个数
wmic computersystem get NumberOfProcessors
4. 通过 PowerShell
#查看所有 CPU 核心和线程信息
Get-WmiObject Win32_Processor | Format-List Name, NumberOfCores, NumberOfLogicalProcessors
三、总结
指标 Linux 命令 Windows 方法
逻辑处理器总数 nproc 或 grep -c “processor” /proc/cpuinfo 任务管理器 → CPU → 逻辑处理器数
物理核心数 lscpu | grep “Core(s) per socket” 任务管理器 → CPU → 核心数
物理 CPU 个数 lscpu | grep “Socket(s)” wmic computersystem get NumberOfProcessors