在Linux操作系统中通过/proc/cpuinfo文件查询CPU详细信息

在前面的文章中介绍过,Linux系统的/proc目录主要是包含系统进程和硬件信息的动态文件(例如:内存、CPU、网络配置等动态信息),其中/proc/cpuinfo就是加载记录了当前服务器的CPU信息。

在Linux操作系统中,通过cat /proc/cpuinfo可以查看到——比如:几个物理CPU/几核/几线程这些信息。

判断依据:
1.具有相同core id的cpu是同一个core的超线程。
2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。

详细的查询方法如下:

1. 查看逻辑CPU个数:
# cat /proc/cpuinfo | grep “processor” | wc -l

2. 查看物理CPU个数:
# cat /proc/cpuinfo | grep “physical id” | sort | uniq | wc -l

3. 查看每个物理CPU中Core的个数,有两种方法:
# cat /proc/cpuinfo | grep “cpu cores” | uniq | awk -F: ‘{print $2}’
# cat /proc/cpuinfo | grep “core id”

4. CPU是否为超线程?
如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。
#每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
cat /proc/cpuinfo | grep “siblings”

5. 如何查看/proc/cpuinfo 文件包含系统上每个处理器的数据段落?
/proc/cpuinfo文件中有6个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。
processor – 包括这一逻辑处理器的唯一标识符。
physical id – 包括每个物理封装的唯一标识符。
core id – 保存每个内核的唯一标识符。
siblings – 列出了位于相同物理封装中的逻辑处理器的数量。
cpu cores – 包含位于相同物理封装中的内核数量。
vendor id – 记录CPU厂商的ID信息,如果处理器为英特尔处理器,则vendor id条目中的字符串是 GenuineIntel。

对于这些条目信息,做以下补充说明:

1. 拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。
2. Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。
3. 每个 core id 均代表一个唯一的处理器内核。所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。
4. 如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。
5. 如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。

6. 如何判断CPU是否64位?
检查cpuinfo中的flags区段,看是否有lm标识,例如:lahf_lm。

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2012-2017 YUNWEIPAI.COM - 运维派 - 粤ICP备14090526号-3
扫二维码
扫二维码
返回顶部