温馨提示×

linux cpuinfo怎样排序

小樊
33
2026-10-11 03:05:38
栏目: 智能运维

在 Linux 下查看 cpuinfo 时,通常有两种常见场景:直接读取 /proc/cpuinfo 或 使用 lscpu。下面介绍几种常见“排序”需求和方法。


一、按 CPU 核心编号排序(最常见)

1️⃣ 按 processor 编号排序

/proc/cpuinfo 里每个逻辑 CPU 都有一个 processor : 0、processor : 1……

grep -E "processor|core id|physical id" /proc/cpuinfo | sort -n

或更直观地按逻辑 CPU 排序:

awk '/^processor/{p=$3} /^core id/{c=$4} /^physical id/{phy=$4} END{}' /proc/cpuinfo

2️⃣ 按物理 CPU → 核心 → 逻辑 CPU 排序

grep -E "processor|physical id|core id" /proc/cpuinfo | \
awk 'BEGIN{RS="\n\n"} {print}' | sort -t: -k1 -n

更实用的写法:

paste <(grep physical id /proc/cpuinfo) \
      <(grep core id /proc/cpuinfo) \
      <(grep processor /proc/cpuinfo) | sort -V

二、使用 lscpu 排序(推荐)

1️⃣ 按 CPU 列表排序

lscpu -p=CPU,CORE,SOCKET,NODE

输出示例:

CPU CORE SOCKET NODE
0   0    0      0
1   1    0      0
2   2    0      0

可按列排序:

lscpu -p=CPU,CORE,SOCKET | sort -t, -k3,3 -k2,2 -k1,1 -n

三、按物理 CPU / 核心分组统计

查看每个物理 CPU 的核心数

grep "physical id" /proc/cpuinfo | sort | uniq -c

查看每个核心对应的逻辑 CPU

grep -E "processor|core id|physical id" /proc/cpuinfo | \
awk 'BEGIN{RS="\n\n"} {print $0}' | sort

四、Numa / 拓扑排序(高级)

lscpu --extended

或:

numactl --hardware

五、小结(常用命令)

需求 命令
按逻辑 CPU 排序 lscpu -p=CPU
物理 CPU → 核心 lscpu -p=CPU,CORE,SOCKET
查看核心分布 lscpu --extended
统计物理 CPU grep "physical id" /proc/cpuinfo | sort | uniq -c

如果你有具体排序目标(比如“按核心温度”“按使用率”“按 NUMA 节点”),可以告诉我,我可以给你更精准的命令。

0 踩