在 Debian(以及其它 Linux 发行版)里,/proc/cpuinfo 或 lscpu 的输出通常是按 CPU 逻辑核心顺序 来的,但如果你想“排序”查看,可以用不同方式。
下面按常见需求给你几种做法:
lscpu 本身已经分类显示,更清晰:
lscpu
如果想按某个字段排序,比如按 CPU 编号:
lscpu -p=CPU,CORE,SOCKET,NODE | sort -n
输出示例:
CPU,CORE,SOCKET,NODE
0,0,0,0
1,1,0,0
2,0,0,0
3,1,0,0
grep -E '^processor' /proc/cpuinfo
grep -E 'processor|physical id|core id' /proc/cpuinfo | \
awk '
/processor/ {p=$3}
/physical id/ {phy=$4}
/core id/ {core=$4; print phy, core, p}
' | sort -k1,1n -k2,2n -k3,3n
grep -E 'processor|cpu MHz' /proc/cpuinfo | \
awk '/processor/{p=$3} /cpu MHz/{print p, $4}' | sort -k2 -n
apt install hwloc
lstopo
或:
numactl --hardware
lscpulscpu -p | sort/proc/cpuinfonumactl / lstopo如果你能说清楚**“想按什么排序”**(核心?插槽?频率?缓存?),我可以给你更精确的命令。