• (54)性能分析命令


    性能分析命令

    top命令: 现在市面有很多 top 命令的变种。 atop btop htop…

    top是性能分析使用第1个命令,也是 大家 用的最多性能分析命令。

    top: 常用的性能分析工具,能够实时显示系统中各个 进程\线程 的资源占用状况

    默认是显示 进程

    默认是 3秒 自动刷新一次数据

    top - 20:08:18 当前系统时间

    up 33 min, 启动运行了多长时间。 ------这个时间越长说明,服务器越稳定。 说明,我们服务器有多长时间没有去重启。

    2 users, 有多少个终端用户连接, 不代表多少个账户

    load average: 0.04, 0.03, 0.05 ========服务器性能的重点关注值

    load average: 系统平均负载

    怎么来的? 系统繁忙是时间 与 系统不繁忙的时间 之比

    系统繁忙: CPU繁忙 + io繁忙

    loadaverage 它是由 CPU 和 io 两项关键数据来决定的。 系统负载 = CPU负载 + io负载

    • 三个数值: 系统过去1分钟的平均负载、 系统过去5分钟的平均负载、 系统过去15分钟的平均负载
      • 第1个值,如果很高,说明 系统过去一分钟 系统负载很大,系统很繁忙。
        • 高? 怎么判断它为高?
        • 一般来说,数值如果大于 cpu数量 的80%, 数值比较高
        • 如果达到 5倍 cpu数量,说明系统负载非常大了。
          • cpu数量,怎么知道?
            • top命令中, 按下 键盘 1

      • 第1个值 & 第2个值,一起看
        • 第1个值 > 第2个值
          • 说明,系统目前负载正在上升,有上升趋势,可能还会继续上升 -----现在的系统负载比过去要高。
            • 说明现在系统是更加繁忙。

        • 第1个值 < 第2个值
          • 说明,系统的负载在慢慢下降。现在的负载,在逐步恢复正常。

    • IO: 换入换出
      • 由三部分组成: 磁盘的换入换出、 外设的换入换出、内部元件数据转移
        • 磁盘的换入换出: 磁盘读写
        • 外设的换入换出: 外部设备换入换出、网络数据换入换出
        • 内部元件数据转移:CPU与内存数据交换、 内存与磁盘数据交换、网络数据转为内存…

    • cpu负载,怎么来算的?
      • cpu的繁忙 & cpu的不繁忙
      • %Cpu(s): 合并cpu的统计数据
        • 所有大数据是 所有数量cpu的总情况
        • &cpu0 这种情况,一行的数据,是展示当前这个一个cpu的数据
      • 0.0 us, CPU的用户态使用时间占比 --------cpu繁忙
      • 0.2 sy, cpu的系统态使用时间占比 ---------cpu繁忙
      • 0.0 ni, 优先级切换占用的cpu时间 ------cpu繁忙
      • 99.8 id, idle 空闲 -----------空闲 不繁忙
      • 0.0 wa, wait等待状态的时间占比 ---------------时刻准备着—随时都可能被换醒------部分繁忙
        • 当我们io繁忙时,这个数值一般会非常明显
      • 0.0 hi, hard interrupt 硬中断 —有保存和打开数据占用cpu时间 -----cpu繁忙
      • 0.0 si, soft interrupt 软中断 —有保存和打开数据占用cpu时间 -----cpu繁忙
      • 0.0 st 管理者占用时间

    • Tasks: 165 total, 当前的总任务数
      • 按下H, Threads 242 total 当前总线程数
      • 任何一个进程,都至少有1个线程

    • 1 running, 当前正在运行
      • 与进程列表中 S列中 R 对应

    • 164 sleeping, 当前正处于休眠
      • 与进程列表中 S列中 S 对应

    • 0 stopped, 停止状态
      • 与进程列表中 S列中 T 对应

    • 0 zombie 僵尸状态
      • 与进程列表中 S列中 Z 对应

    内存信息

    KiB Mem : 1882196 total总内存, 1086060 free空闲内存, 438044 used被占用了, 358092 buff缓冲区/cache缓存

    • KiB单位,按下E,可以改变 内存单位, 小写e,改变进程列中内存相关的三列的单位

      • VIRT 虚拟内存 ----记录内存中,各种数据的位置
        • 虚拟内存,假的内存,并不占用 物理内存
        • 是由 磁盘虚拟来的
        • 虚拟内存一般 是 物理内存的2倍
      • RES 物理内存
      • SHR 共享内存
        在这里插入图片描述

    KiB Swap: 4063228 total, 4063228 free, 0 used. 1289084 avail Mem 可用内存

    • swap 交换分区 -----干交换数据的活
      • 交换什么数据? ----交换内存中的数据。
        • 当内存条内存空不够用了。 把一些内存条中数据,临时转移到 swap分区, 被转移的数据,一般是当前使用频率不高数据。
      • 交换分区,是由磁盘虚拟来的----它速度 比 内存条中内存速度慢。
  • 相关阅读:
    流体力学基础——可压缩性
    EasyNLP 中文文图生成模型带你秒变艺术家
    软件定义汽车之 Android Automotive OS 发展历程
    vue生命周期
    PyTorch Conv2d 前向传递中发生了什么?
    C++ 12:函数模板,模板函数,类模板
    java判断对象是否还在被引用
    基于bert-base-chinese的二分类任务
    LaTex(1):使用在线表格生成器工具生成LaTex表格
    本地消息表分布式事务
  • 原文地址:https://blog.csdn.net/weixin_46356321/article/details/126248025