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

top

alt

一、top前5行统计信息

第一行: top - 11:11:53 up 9:11, 4 users, load average: 0.04, 0.09, 0.14

内容 含义
11:11:53 表示当前时间
up 9:11 系统运行时间 格式为时:分
4 users 当前登录用户数
load average: 0.04, 0.09, 0.14 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

第二行: Tasks: 144 total, 1 running, 143 sleeping, 0 stopped, 0 zombie

内容 含义
144 total 进程总数
1 running 正在运行的进程数
143 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数

第三行: %Cpu(s): 0.1 us, 0.3 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st

内容 含义
0.1 us 用户空间占用CPU百分比
0.3 sy 内核空间占用CPU百分比
0.0 ni 用户进程空间内改变过优先级的进程占用CPU百分比
99.6 id 空闲CPU百分比
0.0 wa 等待输入输出的CPU时间百分比
0.0 hi 硬中断(Hardware IRQ)占用CPU的百分比
0.1 si 软中断(Software Interrupts)占用CPU的百分比
0.0 st 用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间

第四行: KiB Mem : 7990064 total, 136864 free, 5962136 used, 1891064 buff/cache

内容 含义
7990064 total 物理内存总量
136864 free 空闲内存总量
5962136 used 使用的物理内存总量
1891064 buff/cache 用作内核缓存的内存量

第五行: KiB Swap: 4063228 total, 3963132 free, 100096 used. 1740612 avail Mem

内容 含义
4063228 total 交换区总量
3963132 free 空闲交换区总量
100096 used 使用的交换区总量
1740612 avail Mem 代表可用于进程下一次分配的物理内存数量

二、进程信息

列名 含义
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 任务标志

三、其他

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

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

  3. 敲击键盘"b"(打开或关闭运行态进程的加亮效果)top视图变换如下: alt PID为111410为当前top视图中唯一的运行态进程。也可以敲击键盘"y"来打开或者关闭运行态进程的加亮效果。

  4. 敲击键盘"x"(打开/关闭排序列的加亮效果,要先打开"b"),top视图变换如下: alt 不开"b"的只是字体高亮 alt 可以看到现在是按"%CPU"进行排序的,可以按”shift+>”或者”shift+<”左右改变排序序列。

  5. 改变进程显示字段,在top基本视图中,敲击”f”进入另一个视图,在这里可以编辑基本视图中的显示字段: alt 用上下键选择选项,按下空格键可以决定是否在基本视图中显示这个选项,按esc退出。