带您一文读懂top命令

TOP命令

top命令是用来查看系统信息的一个命令,它提供了一个动态的而且是实时的借口帮助我们去查看系统执行时的进程、线程和系统参数的信息。

语法
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

参数说明:

  • -d <秒数>:指定 top 命令的刷新时间间隔,单位为秒。
  • -n <次数>:指定 top 命令运行的次数后自动退出。
  • -p <进程ID>:仅显示指定进程ID的信息。
  • -u <用户名>:仅显示指定用户名的进程信息。
  • -H:在进程信息中显示线程详细信息。
  • -i:不显示闲置(idle)或无用的进程。
  • -b:以批处理(batch)模式运行,直接将结果输出到文件。
  • -c:显示完整的命令行而不截断。
  • -S:累计显示进程的 CPU 使用时间。
显示信息

在这里插入图片描述

总体系统信息

第一行
09:39:20 :系统当前时间。
up 624 days, 16:49:系统从启动到现在的运行时间。
1 user:当前在使用这个机器的用户数量。
load average: 0.00, 0.04, 0.05 :这个值表示系统过去1分钟,5分钟,15分钟的系统负载。数值越大,系统负载越高。
第二行
第二行主要表示当前系统当中任务的相关情况,所谓任务就是当前系统当中一共有多少个进程。
105 total : 这个表示当前系统当中一共有652个进程。
1 running : 表示有一个进程正在执行。
104 sleeping : 表示有104个进程处于睡眠状态,也就是不需要使用CPU的状态。
0 stopped : 表示有0个进程处于stopped状态,这个状态就是被停下来的进程,比如说通过ctrl+z让一个进程停下来,你可以通过给这个进程发送一个信号SIGCONT让这个进程恢复执行。
0 zombie : 这个就表示僵尸进程的个数,这里是0个僵尸进程。
第三行
这一行主要是各种时间所占的百分比的统计,这个数据的统计时间区间是,从本次刷新到上一次刷新之间,是在这个区间统计的数据。
us ; 运行没有指定优先级的用户进程所消耗的CPU时间所占百分比,默认的终端执行的程序都是没有指定优先级的。
sy : 运行内核进程所消耗的CPU时间所占的百分比。
ni : 运行指定了修改过优先级之后的用户进程所占的CPU时间百分比。
id : idle进程执行所占的CPU时间百分比,也就是空闲进程所占的CPU时间百分比。
wa : 这个很好解释,等待IO的时间。
hi : 处理硬件中断所消耗的时间。
si : 处理软件中断所消耗的时间。
ht : 这个主要是虚拟机的虚拟CPU等待真实物理CPU的时间,可以大致认为是Ready状态到Running状态的等待时间,如果这个值越大说明虚拟机运行状态越不好,因为它等待真实CPU的时间很长。
第四行
这一行表示的是物理内存的信息,单位是KB。
total : 表示一共有多少内存,也就是物理内存大小。
free : 表示还有多少物理内存没有使用。
used : 表示使用了多少物理内存。
buff/cache : 表示用于用于缓存的物理内存的大小。
第五行
这一行主要表示的是对换区的数据,所谓对换区就是当操作系统发现内存满了之后,操作系统会选择部分不常使用的页面将它放到磁盘当中当需要使用的时候再将这部分数据从磁盘当中读取出来。
total : 表示对换区的总大小。
free : 表示对换区当中还有多少空间没有使用。
used : 表示对换区当中有多少空间被使用了。
avail Mem : 是一个可用于启动新程序的内存大小的估计值。

进程信息

PID ,表示进程号,就是每个进程的ID。
USER ,就是用户的名称。
PR ,优先级值。
NI ,nice值,通过程序给进程设置的。
VIRT ,进程使用的虚拟内存的大小,单位是KiB。
RES ,常驻内存的内存大小,单位是KiB。
SHR ,共享内存的大小,单位是KiB。
S ,表示进程的状态。
%CPU ,上次一刷新之前对应的进程对CPU的占有率,这个值是可以突破100%的。
%MEM ,这个主要是进程使用的内存占用实际的可用的物理内存的比例。
TIME+ ,这个表示自从进程启动以来累计消耗的CPU时间。
COMMAND ,这个表示启动进程的时候执行的命令。

top命令交互操作

h,帮助信息
c,详细显示命令行
i, 过滤掉空闲的进程
o, 按输入的条件过滤,例如:COMMAND=rshim
k,终结进程,先输入要处理的进程号,回车,在输入终结信号,比如9

tips:
  • 进程的状态:
    D,不能够中断的睡眠状态。
    R,表示程序正在CPU上执行。
    S,表示进程正在睡眠。
    T,进程被信号停止执行。
    t,表示进程正在被调试器追踪,调试器将这个进程停了下来。
    Z,zombie表示是一个僵尸进程。

  • 僵尸进程
    一个进程执行完成并发送信号给它的父进程,等待父进程接收这个信号,这时子进程就处于
    zombie状态。父进程接收信号后,子进程的资源就可以被系统回收,然后子进程会彻底消亡。

Linux中的进程状态:
Ready,当进程被创建完成之后他就处于Ready状态,在这个状态下的进程只差CPU了,也就是说,他现在只需要被操作系统调度获取CPU然后他就可以执行了。
Running,当进程从Ready状态获取CPU的执行权的时候,进程就处于Running状态,这个状态表示进程正在执行。
traced,这个状态主要是一个进程处于调试状态,这个状态需要调试的进程给这个被调试的进程发送信号,然后和这个进程才可以继续执行。
Zombie,当进程执行完成之后,父进程接受子进程发送的信号之前,进程就处于这个状态。
Suspended,这个状态表示进程被挂起,当进程请求IO的时候,需要阻塞等待IO请求完成,这个时候的进程状态就是Suspened状态。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丁达尔之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值