zoukankan      html  css  js  c++  java
  • 测试人员学linux:查看linux性能之top命令

    目录

    1 .系统运行时间
    2.任务队列信息
    3.cpu信息
    4.内存信息
    5.进程信息

    一、系统运行时间

    系统负载(System Load)是系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度(进程等待队列的长度)。

    平均负载(Load Average)是一段时间内系统的平均负载,这个一段时间一般取1分钟、5分钟、15分钟。

    二、任务队列信息

    Tasks: 96 total, 1 running, 91 sleeping, 4 stopped, 0 zombie

    第二行显示的是任务或者进程的总结。进程可以处于不同的状态。这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用’t’切换显示。

    三、cpu信息

    us user: 运行非内核的用户进程的CPU时间
    sy system: 运行内核进程的CPU时间
    ni niced: 运行已调整优先级的用户进程的CPU时间
    wa IO wait: 用于等待IO完成的CPU时间
    hi 处理硬件中断的CPU时间
    si 处理软件中断的CPU时间
    st 这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。

    四、内存信息

    第一行是物理内存使用:
    全部可用内存、空闲内存、已使用内存、缓冲内存
    第二行是虚拟内存使用(交换空间)。
    全部、空闲、已使用、和可用内存数。

    1、MemTotal:内存总数
      系统从加电开始到引导完成,BIOS等要保留一些内存,内核要保留一些内存,最后剩下可供系统支配的内存就是MemTotal。这个值在系统运行期间一般是固定不变的。
    2、MemFree:空闲内存数
      表示系统尚未使用的内存。
    3、MemAvailable:可用内存数
      应用程序可用内存数。系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer、slab都有一部分可以回收,所以MemFree不能代表全部可用的内存,这部分可回收的内存加上MemFree才是系统可用的内存,即:MemAvailable≈MemFree+Buffers+Cached,它是内核使用特定的算法计算出来的,是一个估计值。它与MemFree的关键区别点在于,MemFree是说的系统层面,MemAvailable是说的应用程序层面。
    4、Buffer:缓冲区内存数
    5、Cache:缓存区内存数
    6、Shared:多个进程共享的内存空间

    缓冲区Buffer和缓存区Cache的区别

    1.buffer
      将数据写入到内存里,这个数据的内存空间在Linux系统里一般被称为缓冲区(buffer),例如:写入到内存buffer缓冲区,即写缓冲。
      为了提高写操作性能,数据在写入最终介质或下一层级介质前会合并放在缓冲区中。这样会增加数据持久写的延时,因为第一次写入缓冲区后,在向下写入数据之前,还要等后续写入,以便凑够数据或者定时写入到永久存储介质中。


    2.cache
      从内存里读取数据,这个存数据的内存空间在Linux系统里一般称为缓存区(cache),例如:从内存cache读取,即读缓存。
      操作系统用缓存提高(cache)文件系统的读性能和内存分配性能,应用程序使用缓存也是为了提升访问效率。将经常访问的操作结果保存在缓存中可备随时使用,而非总是 执行读磁盘取数据等开销较高的操作。

     内存计算公式:

    物理内存总数= Mem used + Mem free
    实际已用物理内存 = Mem used - Mem buffers - Mem cached
    应用程序可用物理内存 = Mem free + Mem buffers + Mem cached
    应用程序已用物理内存 + 应用程序可用物理内存 = 系统物理内存
    虚拟机内存总数=Swap used+ Swap free

    标准:linux系统,物理内存可以全部用完,只要不占用虚拟内存

    MemAvailable ≈ MemFree+Buffers+Cached 这里是大约等于, MemFree+Buffers+Cached是理论上的最大值
    Mum availabla 529780
    MemFree+Buffers+Cached= 475336+217628= 692964

    五、进程信息

    PID: 进程描述符 

    USER 进程的拥有者

    PR进程的优先级 

    NI nice level 

    VIRT(virtul memory usage): 进程需要的虚拟内存大小

    RES(resident memory usage): 常驻内存

    SHARE: 和其他进程共享的物理内存空间 

    S:STAT 进程的状态,有 S=sleeping,R=running,T=stopped or traced,D=interruptible sleep(不可中断的睡眠状态),Z=zombie。 
    %CPU: CPU使用率 

    %MEM: 物理内存的使用

    TIME 进程占用的总共cpu时间

    COMMAND进程的命令

     

    SIZE: 进程拥有的内存

    RSS: 物理内存使用

    总结:

      通过top命令,可以初步很全面的了解linux服务器的性能:系统负载、CPU、内存、进行等信息,是必须掌握的命令之一。

  • 相关阅读:
    vs2013运行qt.exe文件提示错误“找不到Qt5Cored.dll”
    基于stm32f1的lora开发基础通信实验
    vs出现找不到dll,重新安装程序可能会解决此问题
    C&C++&opencv文件操作
    出现无法解析的符号xxx(vs2013)
    opencv目标跟踪检测(C)
    vs运行出错:error MSB8020或error LNK1104: 无法打开文件“opencv_calib3d248d.lib/opencv_contribxxxd.lib”
    vs串口读写dll封装C++#(免费源码分享)
    stm32定时器操作配置()
    pwm控制ili9341背光屏幕亮度(stm32f4)
  • 原文地址:https://www.cnblogs.com/xmxit-liu/p/12900015.html
Copyright © 2011-2022 走看看