转载请注明出处链接:https://www.jianshu.com/p/e546bc2c188f
一、先上干货
描述 | 命令 | 备注 |
---|---|---|
CPU数量 | cat /proc/cpuinfo | grep 'physical id'| uniq | wc -l | 结果即为CPU数量 |
逻辑内核数 | cat /proc/cpuinfo | grep 'processor'| wc -l | 若机器所有的CPU不支持超线程,该结果也表示当前机器中总的物理内核数(下文有介绍如何查看CPU是否支持超线程) |
物理内核数 | cat /proc/cpuinfo | grep -E 'physical id|cpu cores' | sed ":a;N;s/\ncpu/ ,cpu/g" | uniq | 该命令列出了所有CPU及其包含的物理内核数量,需要依据该结果进行一次叠加才可得到总的物理内核数(有兴趣读者可以继续对脚本进行加工,汇总出物理内核的数量) |
二、聊一聊Linux中CPU那点事儿
cpuinfo中描述了一些CPU的信息,可以直接使用命令 cat /proc/cpuinfo
了解,其中几个字段是我们需要关注的,如下:
字段名 | 意义 | 备注 |
---|---|---|
physical id | 计算机中CPU的唯一标识 | 对该值去重汇总次数即为CPU数量 |
core id | 同一个CPU中物理内核的唯一标识 | 如果主板插入了多个CPU,那么在不同的CPU下,也就是physical id下,core id 会出现相同的值 |
cpu cores | 同一个CPU中包含的物理内核总数 | |
siblings | 同一个CPU中包含可以同时工作的逻辑内核总数 | 若该值和 cpu cores 相同,说明当前CPU不支持超线程,若该值是 cpu cores的2倍,说明当前CPU支持超线程 |
processor | 计算机中逻辑内核的唯一标识 | |
model name | CPU的描述、介绍信息 |
最后结合笔者笔记本截图来对以上进行印证: