温馨提示×

如何获取linux cpuinfo数据

小樊
47
2026-10-14 01:05:20
栏目: 智能运维

在 Linux 系统中,获取 CPU 信息(cpuinfo)有多种方式,下面按常用程度和适用场景为你总结。


一、最常用:查看 /proc/cpuinfo

cat /proc/cpuinfo

常见字段说明

  • processor:逻辑 CPU 编号
  • physical id:物理 CPU 编号
  • core id:核心编号
  • cpu cores:每个物理 CPU 的核心数
  • siblings:每个物理 CPU 的逻辑 CPU 数
  • model name:CPU 型号
  • flags:CPU 特性标志

快速统计

# 逻辑 CPU 数量
grep -c processor /proc/cpuinfo

# 物理 CPU 数量
grep 'physical id' /proc/cpuinfo | sort -u | wc -l

# 每颗 CPU 核心数
grep 'cpu cores' /proc/cpuinfo | uniq

二、使用 lscpu(推荐,信息更清晰)

lscpu

输出示例:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
CPU(s):              8
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s):           1
Model name:         Intel(R) Core(TM) i7-8550U

以 JSON 格式输出(适合脚本)

lscpu -J

三、使用 nproc

nproc

只显示逻辑 CPU 数量


四、使用 dmidecode(查看物理 CPU 信息)

需要 root 权限:

sudo dmidecode -t processor

适合查看:

  • 插槽数量
  • CPU 版本
  • 最大速度
  • 当前速度

五、使用 top / htop 实时查看

top
# 或
htop

可查看:

  • CPU 使用率
  • 每个核心负载

六、通过编程方式获取(示例)

Python

import os
print(os.cpu_count())

C

#include <unistd.h>
#include <stdio.h>

int main() {
    printf("CPU count: %ld\n", sysconf(_SC_NPROCESSORS_ONLN));
    return 0;
}

七、总结对比

方法 用途 是否需 root
/proc/cpuinfo 原始信息 否
lscpu 结构化信息 否
nproc CPU 数量 否
dmidecode 物理硬件 是
top/htop 实时负载 否

如果你有具体需求(例如:只查核心数、判断是否支持虚拟化、容器环境、ARM 架构等),可以告诉我,我可以给你更精确的命令。

0 踩