Linux top命令用法详解(附带实例)
top 命令常用于 Linux 操作系统下的性能分析工作,能够实时地显示操作系统中各个进程消耗资源的情况,例如显示 CPU 使用情况、内存使用情况和执行时间。
下面执行 top 命令查看一下系统执行的情况:
下面分析一下 top 命令的统计信息的含义。首先分析 top 命令第一行信息:
然后分析 top 命令的第二行和第三行的具体含义,这两行分别表示进程和 CPU 的性能的一些信息:
各个统计信息的具体含义如下:
接着分析 top 命令的第四行和第五行的具体含义,这两行分别表示内存的性能分析信息:
Swap 各个统计信息的含义如下:
内存中的内容被换出到交换区,而后又被换入内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存内容再次被换出时,可不必再对交换区进行写入。
下面执行 top 命令查看一下系统执行的情况:
[root@localhost ~]# top top - 15:12:58 up 3 days, 4:13, 4 users, load average: 0.29, 0.27, 0.28 Tasks: 138 total, 3 running, 133 sleeping, 1 stopped, 1 zombie Cpu(s): 24.4%us, 9.2%sy, 0.0%ni, 66.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 673164k total, 650156k used, 23008k free, 90248k buffers Swap: 524280k total, 52k used, 524228k free, 185692k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2464 root 20 0 47108 20m 7888 R 15.9 3.1 39:50.58 Xorg 20115 root 20 0 90728 18m 11m S 4.0 2.8 0:07.86 gnome-terminal ... 62 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpi_notify 120 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue 122 root 15 -5 0 0 0 S 0.0 0.0 0:00.04 ksuspend_usbd 127 root 15 -5 0 0 0 S 0.0 0.0 0:01.09 khubd
下面分析一下 top 命令的统计信息的含义。首先分析 top 命令第一行信息:
top - 15:12:58 up 3 days, 4:13, 4 users, load average: 0.29, 0.27, 0.28该行信息的具体含义如下:
- 15:12:58:表示系统运行的当前时间。
- up 3 days:表示系统运行时间。
- 4 users:表示登录用户的数量。
- load average: 0.29, 0.27, 0.28:表示系统负载,即任务队列的平均长度,3 个数值分别为 1 分钟、5 分钟、15 分钟到现在的平均值。
然后分析 top 命令的第二行和第三行的具体含义,这两行分别表示进程和 CPU 的性能的一些信息:
Tasks: 138 total, 3 running, 133 sleeping, 1 stopped, 1 zombie Cpu(s): 24.4%us, 9.2%sy, 0.0%ni, 66.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
各个统计信息的具体含义如下:
- 138 total:表示进程的总数。
- 3 running:表示正在运行的进程数量;
- 133 sleeping:表示睡眠的进程数量;
- 1 stopped:表示停止的进程数量;
- 1 zombie:表示僵尸进程数量;
- 24.4%us:表示用户空间占用 CPU 的百分比;
- 9.2%sy:表示内核空间占用 CPU 的百分比;
- 0.0%ni:表示用户进程空间内改变过优先级的进程占用 CPU 的百分比;
- 66.4%id:表示空闲 CPU 的百分比;
- 0.0%wa:表示等待输入/输出的 CPU 的百分比。
接着分析 top 命令的第四行和第五行的具体含义,这两行分别表示内存的性能分析信息:
Mem: 673164k total, 650156k used, 23008k free, 90248k buffers Swap: 524280k total, 52k used, 524228k free, 185692k cachedMem 各个统计信息的含义如下:
- 673164k total:表示物理内存的总的大小;
- 650156k used:表示使用的物理内存的大小;
- 23008k free:表示空闲的物理内存的大小;
- 90248k buffers:表示内核缓存内存空间的大小。
Swap 各个统计信息的含义如下:
- 524280k total:表示交换区的总量;
- 52k used:表示使用的交换区总量;
- 524228k free:表示空闲的交换区总量;
- 185692k cached:表示缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存内容再次被换出时,可不必再对交换区进行写入。