温馨提示×

linux cpuinfo怎么读取

小樊
36
2026-10-19 19:43:49
栏目: 智能运维

在 Linux 中,读取 CPU 信息最常用的方式有以下几种,按常见程度从高到低说明:


一、直接读取 /proc/cpuinfo(最常用)

cat /proc/cpuinfo

常见字段说明

  • processor:逻辑 CPU 编号(从 0 开始)
  • physical id:物理 CPU 编号
  • core id:核心编号
  • cpu cores:每个物理 CPU 的核心数
  • siblings:每个物理 CPU 的逻辑 CPU 数
  • model name:CPU 型号
  • flags:CPU 支持的指令集(如 avx, sse 等)

示例:查看逻辑 CPU 数量

grep -c processor /proc/cpuinfo

示例:查看物理 CPU 数量

grep "physical id" /proc/cpuinfo | sort -u | wc -l

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

lscpu

输出示例(简化):

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
CPU(s):              8
On-line CPU(s) list: 0-7
Thread(s) per core:  2
Core(s) per socket:  4
Socket(s):           1
Model name:          Intel(R) Core(TM) i7-xxxx

快速查看核心信息

lscpu | grep -E "CPU\(s\)|Core|Socket|Thread"

三、使用 nproc(只看逻辑 CPU 数)

nproc

四、查看 CPU 频率

# 当前频率
cat /proc/cpuinfo | grep "cpu MHz"

# 或
lscpu | grep MHz

五、查看 CPU 型号(一行命令)

grep "model name" /proc/cpuinfo | uniq

六、编程方式读取(C / Python 示例)

Python

with open("/proc/cpuinfo") as f:
    print(f.read())

C(简化)

#include <stdio.h>

int main() {
    system("cat /proc/cpuinfo");
    return 0;
}

如果你是想:

  • 统计 CPU 核数
  • 判断是不是超线程
  • 在脚本里解析 cpuinfo
  • 容器 / 虚拟机里读取 CPU 信息

可以告诉我具体场景,我可以给你更针对性的方法。

0 踩