Linux查看CPU
cat /proc/cpuinfo
[root@10-222 /]# cat /proc/cpuinfo
processor : 0 #逻辑处理器标识
vendor_id : GenuineIntel #cpu供应商ID
cpu family : 6
model : 30
model name : Intel(R) Xeon(R) CPU X3470 @ 2.93GHz
stepping : 5
cpu MHz : 2926.061
cache size : 8192 KB
physical id : 0 # 物理处理器标识
siblings : 8 # 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。
core id : 0 # 处理器内核标识
cpu cores : 4 # 单个物理处理器里的内核数
apicid : 0
initial apicid : 0
fdiv_bug : no #浮点除bug不支持
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes #支持浮点运算
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm ida
# lm - long mode 64位支持 lm则是64bit;vmx - INTEL 虚拟化支持;svm - AMD 虚拟化支持
# ht - 超线程
bogomips : 5856.80
clflush size : 64
power management:
======================================
physical id 物理处理器标识
cpu cores 位于相同物理封装的处理器中的内核数量。
processor 逻辑处理器标识
core id 处理器内核标识(具有相同core id的cpu是同一个core的超线程。)
apicid 中断处理器标识
Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。位于相同物理封装的处理器中的逻辑处理器的数量。
=======================================
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
查看有几个物理CPU(physical id 物理封装的处理器的id。)
判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理
-----------------------------------------
#cat /proc/cpuinfo | grep ‘physical id‘ | uniq -c
4 physical id : 0
4 physical id : 1
(表示有2个物理CPU)
实例:
查看有几个物理CPU
# cat /proc/cpuinfo | grep ‘physical id‘ | uniq -c
8 physical id : 0
这台服务器有1个物理CPU
# 查看每个物理CPU中core的个数(即核数)
----------------------------------------
cat /proc/cpuinfo| grep "cpu cores"| sort -u
cpu cores : 4
这台服务器cpu是4核
# 查看逻辑CPU的个数(processor 逻辑处理器的id)
------------------------------------------------
cat /proc/cpuinfo| grep "processor"| wc -l
8
这台服务有8个逻辑cpu (应该是上面的公司 逻辑cup= 1 *4 为4个, 但现在是8个,说明是超线程)
具有相同core id的cpu是同一个core的超线程。
进行验证
[root@10-222 ~]# cat /proc/cpuinfo | grep ‘core id‘
core id : 0
core id : 1
core id : 2
core id : 3
core id : 0
core id : 1
core id : 2
core id : 3
所以这里是1个物理CPU,有4核,支持超线程,所有显示逻辑cpu是8
支持64位
# cat /proc/cpuinfo | grep flags | grep ‘ lm ‘ | wc -l
8
(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)
同样的原理cat /proc/cpuinfo | grep "要查的信息"
cpu 的型号,cpu MHz ,都可以查询 只加个过滤管道 grep
虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。
当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。
因此超线程的性能并不等于两颗CPU的性能。
再完整看cpu详细信息, 不过大部分我们都不关心而已.
[root@10-222 ~]#dmidecode | grep ‘Processor Information‘ -B 1 -A 54
Handle 0x0400, DMI type 4, 40 bytes
Processor Information
Socket Designation: CPU1 #关注
Type: Central Processor
Family: Xeon #关注
Manufacturer: Intel
ID: E5 06 01 00 FF FB EB BF #关注,保修可能要用
Signature: Type 0, Family 6, Model 30, Stepping 5
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (Fast floating-point save and restore)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Hyper-threading technology)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Xeon(R) CPU X3470 @ 2.93GHz #关注
Voltage: 1.2 V
External Clock: 4800 MHz
Max Speed: 3600 MHz #关注
Current Speed: 2933 MHz #关注
Status: Populated, Enabled
Upgrade: <OUT OF SPEC>
L1 Cache Handle: 0x0700
L2 Cache Handle: 0x0701
L3 Cache Handle: 0x0702
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 4 #关注
Core Enabled: 4 #关注
Thread Count: 8 #关注
Characteristics:
64-bit capable
里面还有很多概念没有说,在后面的文章中介绍
例如:物理cpu,逻辑cpu,线程,超线程,以及cpu的缓存,命中率,中断等的,以及他们之间的关系,
以上个人一点点总结和理解,水平不高,文笔水平很烂,请各位大大见谅。
可以一起交流学习。
我的QQ:610851588
可以加入我建的群(现在群人很少,希望慢慢多起来)
Linux 群:183932302
Python ,shell 交流群:469094734
本文出自 “走起运维” 博客,转载请与作者联系!
原文地址:http://yuanji6699.blog.51cto.com/11568362/1772257