插件窝 干货文章 linux怎么判断CPU是几核几线程

linux怎么判断CPU是几核几线程

线程 核心 CPU 物理 656    来源:    2025-05-01

在 Linux 系统中,可以通过以下几种方法查看 CPU 的核心数(cores)和线程数(threads):


1. 使用 lscpu 命令

lscpu

输出示例:

Architecture:          x86_64
CPU(s):                8            # 总逻辑CPU数(线程数)
Thread(s) per core:    2            # 每个核心的线程数
Core(s) per socket:    4            # 每个物理CPU的核心数
Socket(s):             1            # 物理CPU数量

计算方式: - 物理核心数 = Core(s) per socket × Socket(s) = 4 × 1 = 4 核
- 逻辑CPU数(线程数) = CPU(s) = 8 线程
- 每个核心的线程数 = Thread(s) per core = 2(超线程启用时为2,否则为1)


2. 使用 nproc 命令

查看当前系统的逻辑CPU数(线程数):

nproc --all      # 输出总逻辑CPU数(线程数)

3. 查看 /proc/cpuinfo

cat /proc/cpuinfo

关键字段: - processor:逻辑CPU的编号(从0开始,最大值 = 线程数 - 1)。
- core id:物理核心的编号(相同 core id 表示是同一核心的超线程)。
- cpu cores:每个物理CPU的核心数(需结合 siblings 判断超线程)。

统计核心和线程数:

# 物理核心数
cat /proc/cpuinfo | grep "core id" | sort -u | wc -l

# 逻辑CPU数(线程数)
cat /proc/cpuinfo | grep "processor" | wc -l

4. 使用 htoptop

安装并运行 htop(需先安装):

sudo apt install htop  # Debian/Ubuntu
sudo yum install htop  # CentOS/RHEL
htop

在界面顶部会显示 CPU 使用情况,逻辑CPU的数量即为线程数。


5. 使用 dmidecode(查看物理CPU信息)

sudo dmidecode -t processor

输出会包含物理CPU的详细信息(如型号、核心数等)。


总结表格

指标 命令 示例值
逻辑CPU数(线程) nproc --alllscpu \| grep "CPU(s)" 8
物理核心数 lscpu \| grep "Core(s) per socket" 4
是否启用超线程 lscpu \| grep "Thread(s) per core" 2(是)

超线程(Hyper-Threading)判断

  • 如果 Thread(s) per core > 1,则超线程已启用。
  • 如果 逻辑CPU数 > 物理核心数,则超线程已启用。

通过以上方法,你可以快速确认 Linux 系统的 CPU 核心和线程配置。