• Linux操作系统-命令-top


    当我们在执行性能测试的时候,需要关注

    • 业务性能指标(业务监控)
      • 吞吐量(TPS)
      • 响应时间
        • 平均响应时间
        • 50%用户响应时间
        • 90%用户响应时间
        • 标准差      # TPS标准差越小,说明波动越小,系统越稳定;标准差越大,说明波动越大,系统越不稳定
    • 资源使用情况(系统监控)
      • CPU
        • 高负载(>50%)
        • 满负载(>70%)
        • 超负载(>90%)
      • MEM
      • 磁盘IO
      • 网络
      • 其它资源使用率
    • 被测服务日志
      • nginx的access.log日志

    当我们在使用top命令的时候,可以结合以下快捷键观察进程负载

      • 按键"M":按照内存占用率大小的顺序,对进程排序  #大写的M,或者shift+m
      • 按键"P":按照CPU占用率大小的顺序,对进程排序   #大写的P,或者shift+p
    • 按键"数字1":显示本台服务器的CPU数量,及每个CPU的状态  #监控时除了关注整体的CPU繁忙程度,也必须观察每个CPU的状态,看看是否存在“某个CPU负载不均匀”,或者是否存在“少数几个核达到100%利用率”

    概念

    Top,display Linux tasks,即:显示Linux的进程/任务。

    在Linux内的一个用法

    top

    这个命令的意思是:显示"各个进程的资源占用情况"。我们在做性能测试的过程中,常常需要用到这个命令来查看服务器的负载状态。

    输出列表内各字段的介绍

    第1行

    第1行

    备注

    16:33:23

    当前时间

    up 5:58

    系统运行了5小时58分钟

    如果机器运行超过24小时,

    那么左侧会出现“n days”

    4 users

    当前登录的用户数

    Load average

    系统负载

    三个数值分别是:

    1分钟、5分钟、15分钟前至现在的系统负载的平均值

    Load average的概念:

    它所包含的信息不是CPU的使用率状况,而是指在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息

     第2行

    第2行 – Tasks

    备注

    150 total

    进程总数 150个

    1 running

    正在运行的进程 1个

    149 sleeping

    睡眠的进程 149个

    0 stopped

    停止的进程

    0 zombie

    僵尸进程

    第3行

    第3行 – Cpu(s)

    备注

    0.2%us

    用户空间占用CPU百分比(用户使用率)

    0.2%sy

    内核空间占用CPU百分比(系统使用率)

    如果太高,表示系统调用时间长,例如是IO操作频繁

    0.0%ni

    用户进程空间内改变过优先级的进程占用CPU百分比

    99.6%id

    空闲CPU百分比

    接近0则表示非常繁忙,

    接近100表示很闲

    0.0%wa

    等待IO的CPU时间百分比

     “进程等待输入输出”的时间片比例

    0.0%hi

    硬中断

    io中断

    0.0%si

    软中断

    网络中断

    0.0%st

    虚拟 CPU 等待实际 CPU 的时间的百分比

    全称:steal time

    高 steal 值可能意味着主机供应商在服务器上过量地出售虚拟机。如果升级了虚拟机, steal 值还是不降的话,你应该寻找另一家服务供应商。

    低 steal 值意味着你的应用程序在目前的虚拟机上运作良好。因为你的虚拟机不会经常地为了 CPU 时间与其它虚拟机激烈竞争,你的虚拟机会更快地响应。这一点也暗示了,你的主机供应商没有过量地出售虚拟服务,绝对是一件好事情。

    第4行

    第4行 – Mem

    备注

    2061556 k  total

    物理内存总量

    1626384 k  used

    使用的物理内存总量

    435172 k   free

    空闲的内存总量

    56504 k    buffers

    用作内核缓冲的内存量

    "Buffer"被称为"缓冲"

     "Buffer是数据即将被写入磁盘,把数据完整地存起来"

    第5行

    第5行 – Swap

    备注

    0k total

    交换区总量

    0k used

    使用的交换区总量

    0k free

    空闲交换区总量

    173428k cached

    缓存的交换区总量

    "Cache"被称为"缓存"

    "Cache是数据被从磁盘中读出来的,等着被用"

    所谓的第6行

    第6行 – 进程信息

    备注

    PID

    进程ID

    PPID:父进程id

    USER

    进程所有者的用户名

    UID:进程所有者的用户id

    PR

    优先级

    NI

    nice值

    负值表示高优先级,

    正值表示低优先级

    VIRT

    进程使用的虚拟内存总量,单位kb

    VIRT=SWAP+RES

    RES

    进程使用的、未被换出的物理内存大小,单位kb

    RES=CODE+DATA

    SHR

    共享内存大小,单位kb

    S

    进程状态

    D=不可中断的睡眠状态

    R=运行
    S=睡眠
    T=跟踪/停止
    Z=僵尸进程

    %CPU

    上次更新到现在的CPU时间占用百分比

    %MEM

    进程使用的物理内存百分比

    TIME+

    进程使用的CPU时间总计,单位1/100秒

    COMMAND

    进程名称

     命令名/命令行

  • 相关阅读:
    Codeforces 1322B
    面向对象案例
    0428面向对象2.0
    0427 面向对象初识
    0427数组相关思想
    0426数组操作
    Eclipse使用技巧
    数组汇总0426
    0424数组练习
    数组习题练习0424
  • 原文地址:https://www.cnblogs.com/musicmovie/p/4708279.html
Copyright © 2020-2023  润新知