top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。
top - 14:51:20 up 3 days, 23:24, 2 users, load average: 0.90, 1.18, 1.30
Tasks: 334 total, 2 running, 332 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.1% us, 0.8% sy, 0.0% ni, 80.6% id, 10.8% wa, 0.1% hi, 0.6% si
Mem: 4033828k total, 4016184k used, 17644k free, 14852k buffers
Swap: 4096564k total, 33940k used, 4062624k free, 2699284k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18413 oracle 16 0 1973m 1.0g 1.0g R 18 26.6 13:24.67 oracle
18168 oracle 16 0 1972m 769m 767m S 5 19.5 16:26.84 oracle
18393 oracle 15 0 1973m 738m 735m S 5 18.7 6:33.28 oracle
6789 oracle 15 0 1972m 1.1g 1.1g S 4 28.0 10:36.29 oracle
18146 oracle 15 0 1973m 750m 747m S 4 19.1 6:50.18 oracle
18226 oracle 15 0 1972m 707m 705m S 4 18.0 7:27.37 oracle
18501 oracle 15 0 1972m 678m 675m S 4 17.2 3:10.79 oracle
18240 oracle 16 0 1973m 774m 771m S 4 19.7 6:39.88 oracle
18154 oracle 16 0 1973m 505m 502m S 3 12.8 1:18.35 oracle
18252 oracle 16 0 1973m 751m 748m S 3 19.1 6:23.16 oracle
29927 oracle 16 0 1973m 1.3g 1.3g S 2 33.2 15:30.00 oracle
6617 oracle 15 0 1972m 1.7g 1.7g S 2 44.1 58:24.43 oracle
18397 oracle 16 0 1972m 674m 672m S 2 17.1 3:49.17 oracle
18031 oracle 16 0 1971m 543m 542m S 1 13.8 2:08.01 oracle
7966 oracle 15 0 1970m 645m 644m S 1 16.4 42:14.76 oracle
11430 oracle 15 0 1973m 859m 856m S 1 21.8 5:58.01 oracle
18216 oracle 15 0 1973m 498m 495m S 1 12.7 1:12.77 oracle
统计信息区
前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
14:51:20当前时间
up 3 days, 23:24系统运行时间,格式为时:分
2 users当前登录用户数
load average: 0.90, 1.18, 1.30系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks: 334 total进程总数
2 running正在运行的进程数
332 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数
Cpu(s): 7.1% us用户空间占用CPU百分比
0.8% sy内核空间占用CPU百分比
0.0% ni用户进程空间内改变过优先级的进程占用CPU百分比
80.6% id空闲CPU百分比
10.8% wa等待输入输出的CPU时间百分比
0.1% hi硬件中断
0.6% si软件中断
最后两行为内存信息。内容如下:
Mem: 4033828k total物理内存总量
4016184k used使用的物理内存总量
17644k free空闲内存总量
14852k buffers用作内核缓存的内存量
Swap: 4096564k total交换区总量
33940k used使用的交换区总量
4062624k free空闲交换区总量
2699284k cached缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
进程信息区
统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
序号列名含义
PID进程id
PPID父进程id
RUSERReal user name
UID进程所有者的用户id
USER进程所有者的用户名
GROUP进程所有者的组名
TTY启动进程的终端名。不是从终端启动的进程则显示为 ?
PR优先级
NInice值。负值表示高优先级,正值表示低优先级
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
默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。
更改显示内容
通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12045182/viewspace-344530/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12045182/viewspace-344530/