一文详解Linux物理CPU个数、核数、逻辑CPU数

总核数 = 物理cpu个数 x 每个物理cpu的核数

总逻辑CPU数 = 物理CPU个数 x  每个物理CPU的核数  X  超线程数

多核CPU,不同的核通过L2 cache进行通信,存储和外设通过总线与CPU通信。

多核超线程,每个核有两个逻辑的处理单元,两个核共同分享一个核的资源,如下:

 

/proc 目录

Linux内核提供了一种通过/proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。

  • 查看cpu 信息
cat /proc/cpuinfo

以上输出项的含义如下:

processor :体系中逻辑处理惩罚核的编号。对于单核处理惩罚器,则课认为是其CPU编号,对于多核处理惩罚器则可所以物理核、或者应用超线程技巧虚拟的逻辑核
vendor_id :CPU建造商
cpu family :CPU产品系列代号
model   :CPU属于其系列中的哪一代的代号
model name:CPU属于的名字及其编号、标称主频
stepping   :CPU属于建造更新版本
cpu MHz   :CPU的实际应用主频
cache size   :CPU二级缓存大小
physical id   :单个CPU的标号
siblings       :单个CPU逻辑物理核数
core id        :当前物理核在其所处CPU中的编号,这个编号不必然连气儿
cpu cores    :该逻辑核所处CPU的物理核数
apicid          :用来区分不合逻辑核的编号,体系中每个逻辑核的此编号必定不合,此编号不必然连气儿
fpu             :是否具有浮点运算单位(Floating Point Unit)
fpu_exception  :是否支撑浮点策画异常
cpuid level   :履行cpuid指令前,eax存放器中的值,按照不合的值cpuid指令会返回不合的内容
wp             :注解当前CPU是否在内核态支撑对用户空间的写保护(Write Protection)
flags          :当前CPU支撑的功能,指令集
bogomips   :在体系内核启动时粗略测算的CPU速度(Million Instructions Per Second)
clflush size  :每次刷新缓存的大小单位
cache_alignment :缓存地址对齐单位
address sizes     :可接见地址空间位数
power management :对能源经管的支撑

重点说明:

processor 条目包括这一逻辑处理器的唯一标识符。
physical id 条目包括每个物理封装的唯一标识符。
core id 条目保存每个内核的唯一标识符。
siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。
cpu cores 条目包含位于相同物理封装中的内核数量。
如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。

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

  • 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
  • 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo | grep "cpu cores" | uniq
  • 查看逻辑CPU的个数
cat /proc/cpuinfo | grep "processor" | wc -l
  • 查询体系CPU是否启用超线程
cat /proc/cpuinfo | grep -e "cpu cores"  -e "siblings" | sort | uniq
若是cpu cores数量和siblings数量一致,则没有启用超线程,不然超线程被启用。
  • 查看内存信息
cat /proc/meminfo
  • 查看磁盘剩余空间:df -h(用人类看的懂的方式)

猜你喜欢

转载自www.cnblogs.com/FantasyCity/p/12910566.html