Linux top命令手册

来源:互联网 发布:mac山狮系统 编辑:程序博客网 时间:2024/05/08 11:33


         一直在网上查找一个完整的、详细的介绍关于Linux top命令的文章,但一直都未能如愿,于是自己动手根据top命令的man手册来写出这篇文章。事实上,关于Linux命令的介绍,大多数情况下都能通过man手册得知,无奈英文没学好,看着吃力。

 

         Linuxtop是最常用的命令之一,它是一个动态的、实时的监控系统资源与系统运行任务的程序,做为Linux系统管理员,必须知道它的用法与含义。

 

    1 工作界面

首先,看一下它的工作界面,如图:

        

 

         它的工作界面共分为4个部分,从上到下如图所示;分别是:

 

n  摘要区

n  交互命令区

n  任务字段头部(或者说叫标签吧)

n  任务区

 

那么他们分别表示什么含义呢?下面我们来详细介绍各个区域。

1.1 摘要区

         摘要区有当前的系统的总览信息,包括系统时间、系统负载、CPU使用信息、内存使用信息等。用个表格说明下吧:

        

11:51:35

当前系统时间

up 307 days, 18:33

系统运行时间,表示不间断运行多久了

3 users

当前登录的用户数

load average: 0.38, 0.56, 0.55

系统负载,分别表示一分钟、五分钟、十五分钟到现在的平均值

Tasks: 892 total

总进程数

1 running

正在运行的进程数

885 sleeping

处于睡眠状态的进程数

0 stopped

已中止的进程数

6 zombie

僵尸进程

Cpu(s):  0.1%us

us = user mode,用户空间占用CPU百分比

0.1%sy

sy = system mode,系统空间占用CPU百分比

0.0%ni

ni = low priority user mode (nice),用户进程空间内改变过优先级的进程占用CPU百分比

99.7%id

id = idle task,空闲CPU百分比

0.1%wa

wa = I/O waiting,系统I/0等待输入输出的CPU时间百分比

0.0%hi

hi = servicing IRQs

0.0%si

si = servicing soft IRQs

0.0%st

st = steal (time given to other DomU instances)

Mem:  32949816k total

内存总量

32721576k used

已经使用的物理内存总量

228240k free

空闲内存总量

204096k buffers

用于内核缓存的内存量

Swap:  8193140k total

交换空间总量

913800k used

交换空间使用量

7279340k free

交换空间空闲总量

19427576k cached

交换空间缓冲总量。内存中的内容被换出到交换空间,而后又被换入到内存,但使用过的交换空间尚未被覆盖, 该数值即为这些内容已存在于内存中的交换空间的大小。相应的内存再次被换出时可不必再对交换空间写入。

 

 

        

1.2 交互命令区

         顾名思义,就是你输入命令跟top程序打交道的。不同的命令作用于不同的区域,分别有以下命令:

 

Ø  全局命令

Ø  摘要区命令

Ø  任务区命令

Ø  颜色地图命令

 

这里只说明下交互命令区的作用块,后续介绍相关区域各个命令的详细用法及说明。

1.3 任务字段头部

         每个任务都有相关的字段用于标识这个任务的具体意义,默认情况下仅显示PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAN 这些字段,但任务不仅仅只有这些字段供查看。以下表格列出了所有的字段含义:

 

字段名

含义

PID

进程ID

PPID

父进程ID

RUSER

Realusername

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

任务标志,参考sched.h

 

         至于如何显示以及调整相关的字段就涉及到交互命令了,具体的命令在后续的文档中详细描述。

1.4 任务区

         任务区就是显示系统当前运行的任务(或者说进程吧),每个进程都有如上所述的各个字段的具体情况。

2 选项

usage: top -hv | -abcHimMsS -d delay -n iterations [-u user | -U user] -p pid[,pid ...]

        

-a

根据内存使用量排序

-b

批处理模式,可以将结果发送了其他程序或者一个文件中,在此模式不接收命令输入

-c

显示命令行或程序名,等同于交互命令c

-d

指定延迟刷新时间间隔

-h

显示版本和程序用法

-H

显示用户空间进程

-i

空闲进程开关,如果被关闭,将不显示空闲进程以及僵尸进程

-m

作用于任务字段标签区,在任务字段头部区用USED字段代替VIRT字段

-M

作用于摘要区,内存使用量那一行用(k,M,G)等单位显示内存量

-n

刷新迭代次数,通常与 –b 选项一起用

-p

监视指定的PID进程情况,显示多个PID 用逗号分隔

-s

强制使用安全模式,这个选项能更好的控制系统配置文件

-S

显示CPU使用的累计时间

-u,-U

监视指定的用户进程

-v

显示版本和用法

 

3 交互命令

3.1 全局命令

全局命令,作用于整个top命令工作前台,如表格所示:

 

?

显示帮助

=

实时刷新

A

这个命令真不知道咋解释,它能作用于任务字段头部

B

高亮显示

d

改变刷新时间,将提示你输入延迟时间,单位秒

s

与d相同

G

显示其他列,默认不是有很多列么?一屏幕显示不全

I

Irix mode

u,U

提示输入一个用户名,仅显示输入的用户的任务

k

提示输入一个PID,杀掉一个进程

q

退出top

r

提示输入一个PID进程号,以调整此PID进程的nice值

W

将当前的改变写入到配置文件

Z

改变窗口的颜色

区域选择:

S = 摘要区

M = 交互命令区

H = 任务字段头部区域

T = 任务区域

可选颜色:

0 = 黑色, 

1 = 红色,     

2 = 绿色, 

3 = 黄色,

4 = 蓝色,  

5 = 洋红色, 

6 = 蓝绿色,  

7 = 白色

回车键确认

 

3.2 摘要区命令

 

l

关闭或显示(摘要区第一行)系统运行时间、登录用户、负载等信息

m

关闭或显示摘要区(第四、四五行)内存相关信息

t

关闭或显示摘要区(第二、第三行)任务以及CPU等信息

1

关闭或显示多核CPU信息

 

3.3 任务区命令

b

激活高亮显示任务区,一般与x,y命令合用

x

当任务区高亮显示开关激活,此命令高亮显示列

y

当任务区高亮显示开关激活,此命令高亮显示行

z

颜色显示开关

c

显示程序名或者命令行

f

增加或减少任务字段头部

o

调整任务字段头部的顺序

H

显示用户空间进程

S

同选项S

u

同全局命令u

i

仅显示正在运行的任务

n

设置最大任务数

排序相关命令

A

同全局命令A

M

按内存使用量排序

P

按CPU使用率排序

T

按CPU使用时间排序

向左移动

向右移动

F,O

提示选择某列进行排序

R

倒序排列

 

3.4 颜色相关命令

         查看全局命令中的Z命令。

4 配置

         用户家目录的 .toprc文件,亦可创建于/etc/toprc 文件。