温馨提示×

如何过滤linux cpuinfo

小樊
46
2026-10-11 03:06:38
栏目: 智能运维

在 Linux 中,/proc/cpuinfo 或 lscpu 输出信息较多,常需要根据需求过滤出关键信息。下面按常见场景给你一些实用方法。


一、查看 CPU 核心数相关

1. 查看逻辑 CPU 个数

grep -c ^processor /proc/cpuinfo

2. 查看物理 CPU 个数

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

3. 每个物理 CPU 的核心数

grep "cpu cores" /proc/cpuinfo | uniq

4. 是否开启超线程

# 逻辑核 > 物理核 说明开了超线程
echo "逻辑核: $(grep -c ^processor /proc/cpuinfo)"
echo "物理核: $(grep "cpu cores" /proc/cpuinfo | uniq)"

二、查看 CPU 型号

1. 只看型号

grep "model name" /proc/cpuinfo | uniq

2. 使用 lscpu(更简洁)

lscpu | grep "Model name"

三、查看 CPU 特性(flags)

1. 查看是否支持虚拟化

grep -E "vmx|svm" /proc/cpuinfo

2. 查看某个特性是否存在(如 avx)

grep -o "avx" /proc/cpuinfo | head -1

3. 查看所有 flags

grep "flags" /proc/cpuinfo | head -1

四、按某个 CPU 核心过滤

查看第 0 个 CPU 的信息

awk '/^processor *: 0/{flag=1} flag{print} /^$/{if(flag) exit}' /proc/cpuinfo

五、使用 lscpu 精准过滤(推荐)

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

示例输出:

CPU(s):              8
Thread(s) per core:  2
Core(s) per socket:  4
Socket(s):           1
Model name:          Intel(R) Core(TM) i7-8550U

六、实战组合示例

快速查看 CPU 概览

echo "物理CPU: $(grep 'physical id' /proc/cpuinfo | sort -u | wc -l)"
echo "每CPU核心: $(grep 'cpu cores' /proc/cpuinfo | uniq | awk '{print $4}')"
echo "逻辑CPU: $(grep -c ^processor /proc/cpuinfo)"
echo "型号: $(grep 'model name' /proc/cpuinfo | uniq | awk -F: '{print $2}')"

如果你有具体过滤需求(比如:只要核心数 / 只要某个 flag / 脚本化输出),可以直接告诉我,我可以给你定制命令。

0 踩