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 排序显示。
  • T:由进程使用的时间累计排序显示。
  • k:给某一个 pid 一个信号,可以用来杀死进程。
  • r:给某个 pid 重新定制一个 nice 值(即优先级)。
  • q:退出 top(用 ctrl + c 也可以退出 top)。

三、top 各输出参数含义

下面是使用top命令来进行性能检测的截图:

图一(ubuntu):

图二(centos):

1、top 前 5 行统计信息

第 1 行是任务队列信息

top - 17:29:09 up 53days, 1 users, load average: 0.00, 0.01, 0.05 

其参数如下:

内容 

含义

17:29:09

表示当前时间

up 53days 

系统运行时间 格式为时:分

1 users

当前登录用户数

load average: 0.00, 0.01, 0.05 

系统负载,即任务队列的平均长度。 三个数值分别为 1 分钟、5 分钟、15 分钟前到现在的平均值。

load average:如果这个数除以逻辑 CPU 的数量,结果高于 5 的时候就表明系统在超负荷运转了。 

第2行:

Tasks: 69 total, 2 running, 67 sleeping, 0 stopped, 0 zombie 

第3行:

%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

第 2、3 行为进程和 CPU 的信息,当有多个CPU时,这些内容可能会超过两行,其参数如下:

内容含义
69 total 进程总数
2 running 正在运行的进程数
158 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数
0.0 us用户空间占用 CPU 百分比
0.0 sy内核空间占用 CPU 百分比
0.0 ni用户进程空间内改变过优先级的进程占用 CPU 百分比
100.0 id空闲 CPU 百分比
0.0 wa等待输入输出的 CPU 时间百分比
0.0 hi硬中断(Hardware IRQ)占用CPU的百分比
0.0 si 软中断(Software Interrupts)占用CPU的百分比
0.0 st 用于有虚拟 CPU 的情况,用来指示被虚拟机偷掉的 CPU 时间

第4行:

KiB Mem: 1016168 total, 68820used, 567720 free, 379628 buffers 

第5行:

KiB Swap: 0 total, 0 free ,0 used,.293196 avail Mem 

第 4、5 行为内存信息,其参数如下:

内容 

含义

KiB Mem: 1016168 total

物理内存总量

567720 used 

使用的物理内存总量

68820 free 

空闲内存总量

379628 buffers(buff/cache)

用作内核缓存的内存量

KiB Swap: 0 total

交换区总量

0 used

使用的交换区总量

0 free  

空闲交换区总量

0 cached Mem 

缓冲的交换区总量。

293196 avail Mem 

代表可用于进程下一次分配的物理内存数量

上述最后提到的缓冲的交换区总量,这里解释一下,所谓缓冲的交换区总量,即内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。

计算可用内存数有一个近似的公式:

第四行的 free + 第四行的 buffers + 第五行的 cached 。

二、进程信息

列名 

含义

PID 

进程 id

PPID

父进程 id

RUSER

Real user name

UID

进程所有者的用户 id

USER

进程所有者的用户名

GROUP

进程所有者的组名

TTY

启动进程的终端名。不是从终端启动的进程则显示为

PR

优先级

NI

nice 值。负值表示高优先级,正值表示低优先级

P

最后使用的 CPU,仅在多 CPU 环境下有意义

%CPU

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

TIME

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

TIME+

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

%MEM

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

VIRT

进程使用的虚拟内存总量,单位 kb。VIRT = SWAP + RES

SWAP

进程使用的虚拟内存中,被换出的大小,单位 kb

RES

进程使用的、未被换出的物理内存大小,单位 kb。RES = CODE + DATA

CODE

可执行代码占用的物理内存大小,单位 kb

DATA

可执行代码以外的部分(数据段 + 栈)占用的物理内存大小,单位 kb

SHR

共享内存大小,单位 kb

nFLT

页面错误次数

nDRT

最后一次写入到现在,被修改过的页面数。

S

进程状态。D = 不可中断的睡眠状态、R = 运行、S = 睡眠、T = 跟踪/停止、Z = 僵尸进程

COMMAND

命令名/命令行

WCHAN

若该进程在睡眠,则显示睡眠中的系统函数名

Flags

任务标志

3、其他

默认进入 top 时,各进程是按照 CPU 的占用量来排序的。

(1)在 top 基本视图中,按键盘数字“1”可以监控每个逻辑 CPU 的状况: 

 
(2)敲击键盘‘b’(打开关闭加亮效果)top视图变换如下: 

PID 为 9 为当前top视图中唯一的运行态进程。也可以敲击键盘‘y’来打开或者关闭运行态进程的加亮效果。

(3)敲击键盘‘x’(打开/关闭排序列的加亮效果),top 视图变换如下:

可以看到现在是按"%CPU"进行排序的,可以按”shift + >”或者”shift + <”左右改变排序序列。

4、改变进程显示字段

在 top 基本视图中,敲击“f”进入另一个视图,在这里可以编辑基本视图中的显示字段:

用上下键选择选项,按下空格键可以决定是否在基本视图中显示这个选项。

top 命令是一个非常强大的功能,但是它监控的最小单位是进程,如果想监控更小单位时,就需要用到 ps 或者 netstate 命令来满足我们的要求。

四、top 帮助文档

top 命令有很多,所以多看帮助文档才是首要,在交互界面按下“h”键即可,如下:

 

转载于:Linux中top命令参数详解_爷来辣的博客-CSDN博客_top命令参数详解

(SAW:Game Over!)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值