Linux查看CPU详细信息
作者:木木与呆呆
链接:https://www.jianshu.com/p/a0ab0ccb8051
Linux查看CPU详细信息
1.查看CPU详细信息
在Linux服务器上查看CPU详细信息:
cat /proc/cpuinfo
输出结果:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 62
model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
stepping : 4
microcode : 0x428
cpu MHz : 1200.062
cache size : 20480 KB
physical id : 0
siblings : 16
core id : 0
cpu cores : 8
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
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 syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
bogomips : 5200.34
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
上面只截取了一部分信息,
完整的CPU信息请参考文末附录,
这个命令输出了太多的冗余信息不方便查看,
下面介绍的命令以该Linux输出的CPU信息为例,
可以很方便的知道当前系统CPU的特定信息。
2.基本概念
请参考以下文章了解CPU的一些基本概念:
物理CPU,物理CPU内核,逻辑CPU概念详解
3.查看物理CPU的个数
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
输出结果:
2
表示Linux服务器上面实际安装了2个物理CPU芯片。
4.查看物理CPU内核的个数
cat /proc/cpuinfo | grep "cpu cores" | uniq
输出结果:
cpu cores : 8
表示1个物理CPU里面有8个物理内核。
5.查看所有逻辑CPU的个数
cat /proc/cpuinfo | grep "processor" | wc -l
输出结果:
32
表示Linux服务器一共有32个逻辑CPU。
6.查看每个物理CPU中逻辑CPU的个数
cat /proc/cpuinfo | grep 'siblings' | uniq
输出结果:
siblings : 16
表示每个物理CPU中有16个逻辑CPU,
一共有2个物理CPU,
所以总共有32个逻辑CPU,
和第5步中查看的结果一致。
7.查询CPU是否启用超线程
cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq
输出结果:
cpu cores : 8
siblings : 16
看到cpu cores数量是siblings数量一半,说明启动了超线程。
如果cpu cores数量和siblings数量一致,则没有启用超线程。
8.输出项的含义
cpuinfo输出了详细的信息,
可以看到CPU具体型号等各种参数,
下面说明各个输出项的含义:
输出项 | 含义 |
---|---|
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 | 可访问地址空间位数 |
9.参考文章
/proc/cpuinfo 文件(查看CPU信息)
Linux CPU数量判断,通过/proc/cpuinfo.