Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。
1. Top 命令输出:
首先,让我们了解一下输出。top命令会显示系统的很多信息。我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出:
前几行水平显示了不同系统参数的概括,接下来是进程和它们在列中的属性。
系统运行时间和平均负载:
这些字段显示:
- 当前时间
- 系统已运行的时间
- 当前登录用户的数量
- 相应最近1、5和15分钟内的平均负载。
- 可以使用'l'命令切换uptime的显示。
任务
第二行显示的是任务或者进程的总结。进程可以处于不同的状态。这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用't'切换显示。
CPU 状态:
下一行显示的是CPU状态。 这里显示了不同模式下的所占CPU时间的百分比。这些不同的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处理时间的)。
内存使用:
进程信息:
默认上,top显示这些关于进程的属性:
PID
进程ID,进程的唯一标识符
USER
进程所有者的实际用户名。
PR
进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。
NI
进程的nice值(优先级)。越小的值意味着越高的优先级。
VIRT
进程使用的虚拟内存。
RES
驻留内存大小。驻留内存是任务使用的非交换物理内存大小。
SHR
SHR是进程使用的共享内存。
S
这个是进程的状态。它有以下不同的值:
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU
自从上一次更新时到现在任务所使用的CPU时间百分比。
%MEM
进程使用的可用物理内存百分比。
TIME+
任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
COMMAND
运行进程所使用的命令。
交互命令
帮助
首先,我们可以用'h'或者'?'显示交互命令的帮助菜单
刷新
Top 命令默认是3s中刷新一次,要手动刷新,用户需要输入空格或者回车。
可以通过d或者s修改刷新间隔。
显示命令
可以通过按字母c来切换显示命令。
切换树状视图
可以按V,切换树状试图。
修改窗口和颜色
按A分割窗口,按a和w切换,按z修改颜色。