top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。
top - 09:15:07 up 3:13, 4 users, load average: 0.03, 0.21, 1.17
Tasks: 229 total, 2 running, 227 sleeping, 0 stopped, 0 zombie
CPU(s): 0.4% us, 0.5% sy, 0.0% ni, 89.5% id, 9.6% wa, 0.0% hi, 0.0% si
Mem: 4137540k total, 2029316k used, 2108224k free, 43688k buffers
Swap: 2031608k total, 0k used, 2031608k free, 1747712k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4009 root -6 0 984m 14m 13m S 18 0.4 0:47.72 IFRecv
3996 root -6 0 994m 413m 413m S 6 10.2 2:10.54 IFRecv
3749 root 18 0 1159m 35m 5928 S 2 0.9 1:09.40 java
1 root 16 0 1720 544 468 S 0 0.0 0:00.93 init
2 root RT 0 0 0 0 S 0 0.0 0:00.00
统计信息区
前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
01:06:48 当前时间
up 1:22 系统运行时间,格式为时:分
1 user 当前登录用户数
load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks: 29 total 进程总数
1 running 正在运行的进程数
28 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s): 0.3% us 用户空间占用CPU百分比
1.0% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比 (在测试时,这个值超过%30系统就开始卡了,如果内存swap都不高的话,就找找磁盘的io如何?再不行就找具体程序的原因)
0.0% hi
0.0% si
最后两行为内存信息。内容如下:
Mem: 191272k total 物理内存总量
173656k used 使用的物理内存总量
17616k free 空闲内存总量
22052k buffers 用作内核缓存的内存量
Swap: 192772k total 交换区总量
0k used 使用的交换区总量
192772k free 空闲交换区总量
123988k cached 缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。