linux怎么看cpu数量
linux怎么看cpu数量详细介绍
在 Linux 系统中,可以通过以下几种方式查看 CPU 数量(包括物理 CPU 数量和逻辑 CPU 数量):
方法一:通过
/proc/cpuinfo 文件(详细信息)
bash
/proc/cpuinfo
- 逻辑 CPU 数量(含超线程):统计
processor字段的出现次数(每个逻辑 CPU 对应一个唯一的processor编号,从 0 开始)。 - 物理 CPU 数量:统计
physical id字段的不同值的数量(不同物理 CPU 有不同的physical id,通常从 0 开始)。 - 每个物理 CPU 的核心数:查看
cpu cores字段(单物理 CPU 下的核心数,不含超线程)。
示例输出片段:
plaintext
processor : 0physical id : 0
cpu cores : 8
...
processor : 1
physical id : 0
cpu cores : 8
...
processor : 15
physical id : 1 # 第二个物理 CPU
cpu cores : 8
- 上述示例中,
physical id有0和1两个值,说明有 2 个物理 CPU。 processor从 0 到 15 共 16 个,说明有 16 个逻辑 CPU(每个物理 CPU 有 8 核,启用超线程后为 16 逻辑核心)。
方法二:使用
lscpu 命令(简洁直观)
bash
lscpu
- 逻辑 CPU 数量:直接查看
CPU(s):字段。 - 物理 CPU 数量:查看
Socket(s):字段(即物理 CPU 插槽数)。 - 每个物理 CPU 的核心数:查看
Core(s) per socket:字段(单物理 CPU 核心数,不含超线程)。 - 是否启用超线程:若
Thread(s) per core:为 2,则表示启用超线程(每个核心对应 2 个逻辑 CPU)。
示例输出片段:
plaintext
Architecture: x86_64CPU(s): 16
Socket(s): 2
Core(s) per socket: 8
Thread(s) per core: 2
- 这里
Socket(s): 2表示 2 个物理 CPU,CPU(s): 16表示 16 个逻辑 CPU。
方法三:通过
nproc 命令(快速获取逻辑 CPU 数量)
bash
nprocnproc
nproc
总结:
- 逻辑 CPU 数量(包含超线程):
processor总数(cat /proc/cpuinfo | grep -c processor)或lscpu中的CPU(s):。 - 物理 CPU 数量:
physical id的不同值数量(cat /proc/cpuinfo | awk -F: '$1~/physical id/{print $2}' | sort -u | wc -l)或lscpu中的Socket(s):。 - 物理核心总数(不考虑超线程):
物理 CPU 数量 × 单 CPU 核心数(lscpu中的Core(s) per socket:×Socket(s):)。
根据需求选择合适的方法即可。