top命令


top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

使用方式

top [-d number] | top [-bnp]

参数解释:

-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。

-b:以批次的方式执行top。

-n:与-b配合使用,表示需要进行几次top命令的输出结果。

-p:指定特定的pid进程号进行观察。

在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):

?:显示在top当中可以输入的命令

P:以CPU的使用资源排序显示

M:以内存的使用资源排序显示

N:以pid排序显示

R: 对排序进行反转

T:由进程使用的时间累计排序显示

k:给某一个pid一个信号。可以用来杀死进程

r:给某个pid重新定制一个nice值(即优先级)

q:退出top(用ctrl+c也可以退出top)。

命令字段详解

第一行:系统运行时间和平均负载

在这里插入图片描述
top命令的顶部显示与uptime命令相似的输出

这些字段显示:

  • 当前时间
  • 系统已运行的时间
  • 当前登录用户的数量
  • 相应最近5、10和15分钟内的平均负载。

15:36:34 一 当前系统时间
2:28 — 系统已经运行了2小时28分钟(在这期间没有重启过)
3 users — 当前有3个用户登录系统
load average:0.08, 0.03, 0.05 — load average后面的三个数分别是5分钟、10分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行: 任务

在这里插入图片描述

Tasks — 任务(进程),系统现在共有198个进程,其中处于运行中的有1个,197个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸进程)的有0个。

第二行显示的是任务的总数、运行中(running)的任务、休眠(sleeping)中的任务、停止(stopped)的任务、僵尸状态(zombie)的任务

第三行:cpu状态

在这里插入图片描述

这里显示不同模式下所占cpu时间百分比,这些不同的cpu时间表示:

  • us:user的缩写,运行(未调整优先级的) 用户进程占用的CPU时间百分比
  • sy:system的缩写,运行内核进程占用的CPU时间百分比
  • ni:niceness的缩写,调整过优先级的进程占用cpu时间的百分比
  • id:idle 的缩写,CPU 消耗在闲置进程的时间百分比,这个值越低,表示 CPU 越忙
  • wa:wait 的缩写,CPU 等待外部 I/O 的时间百分比,这段时间 CPU 不能干其他事,但是也没有执行运算,这个值太高就说明外部设备有问题
  • hi:hardware interrupt 的缩写,CPU 响应硬件中断请求的时间百分比
  • si: software interrupt 的缩写,CPU 响应软件中断请求的时间百分比
  • st:stole time 的缩写,该项指标只对虚拟机有效,表示分配给当前虚拟机的 CPU 时间之中,被同一台物理机上的其他虚拟机偷走的时间百分比
第四行:内存

在这里插入图片描述

全部可用内存、已使用内存、空闲内存、缓冲内存

第五行:swap

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BK2nLDFQ-1584962141832)(top命令.assets/image-20200323155925792.png)]

全部、已使用、空闲和缓冲交换空间

第七行至N行:各进程任务的的状态监控

在这里插入图片描述

列名介绍
PID进程ID,进程的唯一标识符
USER进程所有者的实际用户名
PR进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。PR 是 OS 动态调整的,用户不能调整(PR 值越低,进程执行的优先级越高)
NI进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级。Nice值是进程的一个属性,用户可以自己调整
VIRTvirtual memory usage 虚拟内存,进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES**resident memory usage 常驻内存,**驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
5、看进程在运行过程中占用了多少内存应该看RES的值而不是VIRT的值
SHRSHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程独占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
S这个是进程的状态。它有以下不同的值:
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU自从上一次更新时到现在任务所使用的CPU时间百分比。%CPU显示的是进程占用一个核的百分比,而不是整个cpu(N核)的百分比,有时候可能大于100,那是因为该进程启用了多线程占用了多个核心,所以有时候我们看该值得时候会超过100%,但不会超过总核数*100
%MEM进程使用的可用物理内存百分比
TIME+任务启动后到现在所使用的全部CPU时间,精确到百分之一秒
COMMAND运行进程所使用的命令。进程名称(命令名/命令行)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值