测试人员学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、内存、进行等信息,是必须掌握的命令之一。

原文地址:https://www.cnblogs.com/xmxit-liu/p/12900015.html