top作为日常管理工作中最常用也是最重要的Linux系统监控工具之一,可以动态观察系统进程状况,方便系统管理员实时了解系统资源现状。

51CTO编辑推荐:Linux监控工具大全

常用热键 用途
t 显示摘要信息开关.
m 显示内存信息开关.
A 分类显示系统不同资源的使用大户。有助于快速识别系统中资源消耗多的任务。
f 添加删除所要显示栏位.
o 调整所要显示栏位的顺序.
r 调整一个正在运行的进程Nice值.
k 结束一个正在运行的进程.
z 彩色/黑白显示开关

一、相关设定默认值

全局

'A' - 交替显示模式

* 'd' - 刷新时间间隔

'I' - Irix mode

* 'p' - 监控特定PID

* 's' - 安全模式

'B' - 粗体显示

 

Off (默认为全屏显示,On时交替显示)

3.0秒

On

Off

Off

Off

摘要区

'l'- 平均负载及系统运行时间

't'- 任务及CPU状态

'm'- 内存及交换空间状态

'1'- 单CPU显示

 

On

On

On

On (如果为系统包含多处理器,只显示在一行中)

任务区域

'b'- 黑体/反色显示高亮的行/列

* 'c'- 任务执行的命令行

* 'H'- 显示线程

* 'i'- 空闲任务显示

'R'- 反序显示

* 'S'- 累计时间

'x'- 高亮显示排序的列

'y'- 高亮显示正在运行的任务

'z'- 彩色/黑白显示

 

On (off)

Off (只显示任务名称,不显示任务全格式信息)

Off

On

On

Off

Off

On

Off

注:*标示的设定,可以在启动top时,使用命令行参数覆盖指定参数值。

 

二、命令行启动参数:

用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

-b : 批次模式运行。通常用作来将top的输出的结果传送给其他程式或储存成文件。

-c : 显示执行任务的命令行。

-d : 设定延迟时间

-h : 帮助

-H : 显示线程。当这个设定开启时,将显示所有进程产生的线程。

-i : 显示空闲的进程。

-n : 执行次数。一般与-b搭配使用

-u : 监控指定用户相关进程

-U : 监控指定用户相关进程

-p : 监控指定的进程。当监控多个进程时,进程ID以逗号分隔。这个选项只能在命令行下使用。

-s : 安全模式操作

-S : 累计时间模式

-v : 显示top版本,然后退出。

-M : 自动显示内存单位(k/M/G)

 

三、栏位信息

在top中,分别使用26个英文字母对应进程相关信息栏位。可已通过f来添加或移除指定的栏位,通过o来调整对栏位显示顺序。下面我们针对这些栏位进行说明。

a: PID (Process Id):任务的进程ID

b: PPID (Parent Process Pid):父任务的进程ID

c: RUSER (Real User Name):任务的所有者真实名称

d: UID (User Id):任务所有者ID

e: USER (User Name):任务所有者名称

f: GROUP (Group Name):任务所有者群组名

g: TTY (Controlling Tty):终端

h: PR (Priority):优先级

i: NI (Nice value):Nice值

j: P (Last used CPU (SMP)):

k: %CPU (CPU usage):CPU使用率

l: TIME (CPU Time):CPU时间

m: TIME+ (CPU Time, hundredths):CPU时间,精确到秒

n: %MEM (Memory usage (RES)):内存使用率

o: VIRT (Virtual Image (kb)):虚拟内存。VIRT = SWAP + RES

p: SWAP (Swapped size (kb)):交换空间

q: RES (Resident size (kb)):常驻内存。RES = CODE + DATA

r: CODE (Code size (kb)):

s: DATA (Data+Stack size (kb)):

t: SHR (Shared Mem size (kb)):共享内存。

u: nFLT (Page Fault count):

v: nDRT (Dirty Pages count):

w: S (Process Status):进程状态

分别有以下几种:

D = uninterruptible sleep = 不可被唤醒睡眠

R = running = 正在运行中

S = sleeping = 睡眠状态

T = traced or stopped = 出错或停止状态

Z = zombie = 僵尸状态

x: Command (Command line or Program name):进程名或命令行

y: WCHAN (Sleeping in Function):

z: Flags (Task Flags):

示例1:增加和移除进程信息栏位(输入f)

   

示例2:调整进程信息栏位显示顺序(输入o)

四、交互命令

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或# : 设置任务显示最大数量

任务排序

M : 按内存使用率排序

N : 按PID排序

P : 按CPU使用率排序

T : 按Time+排序

< : 按当前排序栏位左边相邻栏位排序

> : 按当前排序栏位右边相邻栏位排序

F 或 O : 选择排序栏位

R : 反向排序

本文来源:飞哥的博客 http://hi.baidu.com/imlidapeng/blog/item/c33b42e41170b925b83820e3.html