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

Linux系统管理员 top 工具_工具

   

一、相关设定默认值

全局

   '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)

Linux系统管理员 top 工具_系统管理员_02

     

 
 
 

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

Linux系统管理员 top 工具_系统管理员_03

四、交互命令

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 : 反向排序

 
 

其他

 

五、练习

1.怎么让top外观显示类似下图?

Linux系统管理员 top 工具_工具_04

2.怎样监控httpd进程状况?

3.怎么提高httpd进程运行优先权等级?