一、命令说明
top 命令能够实时监控系统的运行状态,并且可以按照CPU、内存和执行时间进行排序,同时top 命令还可以通过交互式命令进行设定显示,通过top 命令可以查看即时活跃的进行。
二、参数说明

- -b:批次模式运行。通常用作来将top 的输出的结果传送给其他程式或储存成文件
 - -c:显示执行任务的命令行
 - -d:设定延迟时间
 - -h:帮助
 - -H:显示线程。当这个设定开启时,将显示所有进程产生的线程
 - -i:显示空闲的进程
 - -n:执行次数。一般与-b 搭配使用
 - -u:监控指定用户相关进程
 - -U:监控指定用户相关进程
 - -p:监控指定的进程。当监控多个进程时,进程ID 以逗号分隔。这个选项只能在命令行下使用
 - -s:安全模式操作
 - -S:累计时间模式
 - -v:显示top 版本,然后退出
 - -M:自动显示内存单位(k/M/G)
 
三、top交互命令
1、全局命令
- 回车、空格:刷新显示信息
 - ?或h:帮助
 - =:移除所有任务显示的限制
 - A:交替显示模式切换
 - B:粗体显示切换
 - d或s:更改界面刷新时间间隔
 - G:选择其它窗口/栏位组
 - I:Irix 或Solaris 模式切换
 - u或U:监控指定用户相关进程
 - k:结束进程
 - q:退出top
 - r:重新设定进程的nice 值
 - W:存储当前设定
 - Z:改变颜色模板
 
2、摘要区命令
- l:平均负载及系统运行时间显示开关
 - m:内存及交换空间使用率显示开关
 - t:当前任务及CPU 状态显示开关
 - 1:汇总显示CPU 状态或分开显示每个CPU 状态
 
3、任务区命令
- 外观样式
 -  b:黑体/反色显示高亮的行/列。控制x 和y 交互命令的显示样式
 - x:高亮显示排序的列
 -  y:高亮显示正在运行的任务
 -  z:彩色/黑白显示。
 - 显示内容
 -  c:任务执行的命令行或进程名称
 -  f或o:增加和移除进程信息栏位及调整进程信息栏位显示顺序
 -  H:显示线程
 -  S:时间累计模式
 -  u:监控指定用户相关进程
 - 任务显示的数量
 -  i:显示空闲的进程
 -  n或#:设置任务显示最大数量
 - 任务排序(shift+f)
 -  M:按内存使用率排序
 -  N:按PID 排序
 -  P:按CPU 使用率排序
 -  T:按Time+排序
 -  <:按当前排序栏位左边相邻栏位排序
 -  >:按当前排序栏位右边相邻栏位排序
 -  F或O:选择排序栏位
 -  R:反向排序
 
四、参数解释

1、第一行是任务队列信息,同uptime 命令,其内容解释如下:
| 21:59:09 | 当前时间 | 
| up 11:21 | 系统运行时间,格式为:时:分 | 
| 2 users | 当前登录用户数 | 
| load average:0.05,0.01,0.01 | 系统负载,即任务队列的平均长度,三个数值分别为:1分钟、5分钟、15分钟前到现在的平均值 | 
2、第二三行为进程和CPU的信息,当有多个CPU 时,这些内容可能会超过两行,内容如下:
| Task:113 total | 进程总数 | 
| 1 running | 正在运行的进程数 | 
| 112 sleeping | 休眠的进程数 | 
| 0 stoped | 停止的进程数 | 
| 0 zombie | 僵尸进程数 | 
| Cpu(s):0.3%us | 用户进程消耗的CPU时间百分比 | 
| 0.0%sy | 系统进程消耗的CPU时间百分比 | 
| 0.0%ni | 用户进程空间内改变过优先级的进程占CPU时间百分比 | 
| 99.7%id | CPU空闲状态的时间百分比 | 
| 0.0%wa | I/O等待所占的CPU时间百分比 | 
| 0.0%hi | CPU服务于硬中断所耗费的时间总额 | 
| 0.0%si | CPU服务于软中断所耗费的时间总额 | 
| 0.0%st | CPU服务于软中断所耗费的Steal Time | 
3、第四五行为内存信息
| Mem:1030616K total | 物理内存总量 | 
| 698152k used | 已使用的物理内存总量 | 
| 332464k free | 空闲的物理内存总量 | 
| 31392k buffers | 用做内核缓存的内存总量 | 
| Swap:2064376k total | 交换分区总量 | 
| 0k used | 已使用的交换分区 | 
| 2064376k free | 空闲的交换分区 | 
| 117716k cached | 缓冲的交换分区总量。 | 
4、进程信息
| 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时间总计,单位百分之一秒 | 
| %MEM | 进程使用的物理内存百分比 | 
| VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES | 
| SWAP | 进程使用虚拟内存中,被换出的大小,单位kb | 
| RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA | 
| CODE | 可执行代码占用的物理内存大小,单位kb | 
| DATA | 可执行代码以外的部分(数据段+栈)占用的物理内存大小 | 
| SHR | 共享内存大小,单位kb | 
| nFLT | 页面错误次数 | 
| nFRT | 最后一次写入到现在,被修改过的页面数 | 
| S | 
 进程状态: D:不可中断的睡眠状态 R:运行 S:睡眠 T:跟踪/停止 Z:僵尸进程  | 
| COMMAND | 命令名/命令行 | 
| WCHAN | 若该进程在睡眠,则显示睡眠中的系统函数名 | 
| Flags | 任务标志,参考sched.h | 
- 默认情况下仅显示比较重要的列:PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND
 - 可以通过下面的快捷键来更改显示内容:
 - 更改显示内容通过 f 键可以选择显示的内容(按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定)
 - 按 o 键可以改变列的显示顺序(按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动,最后按回车键确定)
 - 按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序,而大写的 R 键可以将当前的排序倒转。
 
                    
                
                
            
        
浙公网安备 33010602011771号