一、服务器CPU简介
CPU的概念:
CPU(Central Processing Unit)又叫中央处理器,其主要功能是进行运算和逻辑运算,内部结构大概可以分为控制单元、算术逻辑单元和存储单元等几个部分。按照其处理信息的字长可以分为:八位微处理器、十六位微处理器、三十二位微处理器以及六十四位微处理器等等。
目前,服务器的CPU仍按CPU的指令系统来区分,通常分为CISC型CPU和RISC型CPU两类,后来又出现了一种64位的VLIM(Very Long Instruction Word超长指令集架构)指令系统的CPU。
- CPU架构:
-
- 复杂指令集CPU:X86架构:如intel、AMD
- 精简指令集CPU:ARM架构如飞腾、PowerPC架构如IBM
- CPU主频:
-
- CPU内核的时钟频率,它是指CPU内部晶振的频率,表示在CPU内数字脉冲信号震荡的速度,常用单位为MHz,它反映了CPU的基本工作节拍,很大程度上影响了CPU的运算速度,CPU的很多性能指标,都会和时钟频率有关,所以一般来说,主频频率越高,CPU每秒处理的数据就越多。
- CPU核心线程:
-
- 我们任务管理器下看到的CPU总数,是你的CPU物理核心数用超线程技术虚拟出来的核心数
- 线程数就是模拟出来的CPU核心数(注意不是CPU物理核心数)
- 对于一个CPU,线程数总是大于或等于核心数(物理核心)的。一个核心(物理核心)最少对应一个线程,但通过超线程技术,一个核心可以对应两个线程,也就是说它可以同时运行两个线程。这也就解释了为什么会有六核心(物理核心)十二线程(CPU核心数)的原因。
- CPU缓存:
-
- 用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近处理器的频率。
- Architecture: #x86架构/arm架构
- Thread(s) per core: #每个核心的线程数量
- Core(s) per socket: #每颗物理CPU的核数
- CPU socket(s): #物理CPU个数
- CPU MHz: #cpu主频,也就是CPU内核的时钟频率,运算速度
cpu核数计算:
CPU总核数=物理CPU个数 * 每颗物理CPU的核数 =8*1=8
总逻辑CPU数=物理CPU个数 * 每颗物理CPU的核数 * 超线程数* 复用比=8*1*1=8
二、CPU性能指标分类
cpu的性能指标有如下图几种:
三、CPU使用率详解
- 频率:
单位时间内完成振动或振荡的次数或周数 常用单位是赫兹。1赫兹等于1次/秒或1周/秒 频率单位有: Hz(赫)、kHz(千赫)、MHz(兆赫)、GHz(吉赫)。 其中1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz [root@localhost hello]# cat /proc/cpuinfo //虚拟机 pc台式机的频率 processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 94 model name : Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
- LINUX系统时钟频率:
LINUX系统时钟频率是一个常数HZ来决定的,如:通常f=3.40GHz,那么他的精度度就是0.29ns(纳秒)。 1GHz周期是1ns。 也就是说每0.29ns一次中断。所以一般来说Linux的精确度是1ns之内。
- 时钟周期:
时钟周期也称为振荡周期,定义为时钟频率的倒数。 时钟周期是计算机中最基本的、最小的时间单位。 在一个时钟周期内,CPU仅完成一个最基本的动作。时钟周期是一个时间的量。 1GHz周期是1ns。 周期单位: s(秒ÿ