在 Debian(以及其它 Linux 发行版)中,/proc/cpuinfo 是一个文本伪文件,本身没有“排序”功能。所谓“排序”,通常是指用命令行工具对 cpuinfo 的内容进行整理和展示。
下面按常见需求说明几种做法。
processor 是逻辑 CPU 编号,默认通常就是有序的:
grep -E "processor|model name" /proc/cpuinfo
如果你担心顺序乱了,可以强制排序:
grep "processor" /proc/cpuinfo | sort -n
查看每个物理 CPU:
grep -E "physical id|cpu cores" /proc/cpuinfo
按 physical id 排序:
grep -E "physical id|processor|model name" /proc/cpuinfo | sort -t: -k2 -n
适合看超线程分布:
grep -E "physical id|core id|processor" /proc/cpuinfo | sort -k2 -n -k4 -n
lscpu(推荐,更清晰)lscpu 本身已经“排序并整理”好了:
lscpu
按 CPU 列表查看:
lscpu -e
示例输出:
CPU NODE SOCKET CORE L1d L1i L2 L3 ONLINE
0 0 0 0 0 0 0 0 yes
1 0 0 1 1 1 1 0 yes
例如按 physical id + core id 排序:
awk -F: '/physical id|core id|processor/{print $0}' /proc/cpuinfo | sort
| 需求 | 推荐方式 |
|---|---|
| 快速看 CPU | lscpu |
| 看逻辑核顺序 | grep processor |
| 看物理 CPU | physical id |
| 看超线程 | core id |
如果你有具体排序目标(比如“按主频排序”“按 NUMA 节点排序”),可以告诉我,我可以给你更精确的命令。