硬件性能分析

硬件性能分析

一、CPU性能分析

1、CPU:中央处理器,在服务器中是计算的核心

 

2、影响CPU性能的因素:架构,主频,核心数

  2.1 架构:AMD(X86)、ARM(mac系统用M1)

  2.2 主频:GHz 赫兹---期望这个越高越好(2~3GHz),赫兹越大运算的速度就越快

  2.3 核数:多核,核数越多,理论上技术能力越强

 

3、CPU的结构:计算单元,寄存单元,控制单元,时钟

  3.1 计算单元:主要处理需要计算的事务

  3.2 寄存单元:CPU中寄存器(cache缓存,用来临时存储一些数据、指令)

    3.2.1 L1Ccache缓存区、L2Ccache缓存区、L3Ccache缓存区总共空间一般也只有几十MB

    3.2.2 寄存器的空间大小我们期望的是越大越好,但是寄存器的成本会很高

      3.2.2.1 内存条上内存空间,比CPU中寄存器的成本要低很多,也是用于临时存储数据的,所以内存的空间可以做的很大。但是,我们内存的速度,要比CPU中寄存器的速度要慢很多。

      3.2.2.2 磁盘是最大数据存储空间,但是磁盘的速度又要比内存的速度慢很多

  3.3 控制单元:指令计数器,控制指令的切换,比如从一个程序切换到另外一个程序

  3.4 时钟:时钟片

 

4、内核,线程,架构

  4.1 内核:医院的医生,治疗病人

  4.2 线程:医院的护士,接待照顾病人

  4.3 架构:医院的楼层结构和医疗基础设施

  4.4 1个医生对应1个护士,叫单核单线程;1个医生对多个护士叫单核多线程

 

5、查看CPU信息:lscpu

Architecture: 看出cpu的架构
CPU op-mode(s): CPU支持多少位的系统
CPU(s): 看出有几核CPU
Thread(s) per core: 看出是否超线程 1,没有超线程
Core(s) per socket: 1个插槽中有几个核CPU
Flags: cpu支持指令集

6、命令行:

cat /proc/cpuinfo 内存中记录的cpu信息
cat /proc/cpuinfo |grep "physical id" |sort |uniq |wc -l 查看物理cpu数
量
cat /proc/cpuinfo | grep "cpu cores" |uniq 查看CPU的core数,即核数
cat /proc/cpuinfo | grep "processor" |wc -l 查看逻辑CPU数量

  

7、top中系统负载:系统负载数据 = cpu负载 + io负载

  7.1 io负载 = 网络负载 + 外设负载 + 磁盘负载

    7.1.1 io负载主要体现在wa数据

  7.2 cpu负载 包括(us、sy、ni、hi、si、st、wa)

    7.2.1 没有负载主要是:id,wa数据

  7.3 cpu(s)使用率 : us+sy+ni+wa+hi+si+st + id =100

 

8、cpu数据,分析性能:

  8.1 sy:内核使用率,与上下文切换有关系

    8.1.1 上下文:程序的寄存器与计数器

    8.1.2 上下文的切换:前面一个程序的寄存器和计数器指令保存,打开下一个程序的寄存器和指令器进行执行

    8.1.3 自愿上下文切换:指内存存在瓶颈时,正在执行的指令,缺少数据,没法继续执行,只能通过切换到其他进程上获取数据然后才能继续前面的指令

    8.1.4 非自愿上下文切换:cpu瓶颈(抢占资源),强制切换到其他指令

  8.2 us+in:CPU密集计算 or FGC or 死循环

    8.2.1 GC:资源回收

  8.3 si: cpu竞争抢资源 or 资源不够I/O问题

  8.4 wa:等待资源 -----> I/O问题(磁盘网络)

  

  

posted @ 2022-11-23 09:23  无名。。。  阅读(285)  评论(0编辑  收藏  举报