1 介绍:
Linux的top命令是动态展示linux运行过程当中的系统信息,提供实时的对系统处理器的监视状态。常用的linux系统性能分析工具,能够实时地对系统显示系统中各个进程的资源使用情况。
2 命令展示结果
top - 15:57:42 up 476 days, 36 min, 3 users, load average: 0.27, 0.18, 0.09
Tasks: 204 total, 1 running, 203 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.3%us, 0.4%sy, 0.0%ni, 96.2%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8174516k total, 4105424k used, 4069092k free, 846460k buffers
Swap: 8385920k total, 38040k used, 8347880k free, 1215704k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2883 nobody 20 0 2947m 722m 14m S 15 9.1 0:53.81 java
3719 root 20 0 8772 1252 856 R 1 0.0 0:00.04 top
13 root 20 0 0 0 0 S 0 0.0 203:23.82 events/2
1 root 20 0 10380 740 672 S 0 0.0 11:40.21 init
2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0 0.0 0:35.17 migration/0
4 root 20 0 0 0 0 S 0 0.0 1:00.22 ksoftirqd/0
5 root RT 0 0 0 0 S 0 0.0 0:22.20 migration/1
6 root 20 0 0 0 0 S 0 0.0 0:24.38 ksoftirqd/1
7 root RT 0 0 0 0 S 0 0.0 1:00.97 migration/2
8 root 20 0 0 0 0 S 0 0.0 0:12.98 ksoftirqd/2
9 root RT 0 0 0 0 S 0 0.0 0:52.05 migration/3
10 root 20 0 0 0 0 S 0 0.0 0:08.54 ksoftirqd/3
3. 命令解析
前5行是对当前系统整体情况的统计。
1)、第一行:任务队列信息
同uptime命令的执行结果:
[xxx@bj5-155 ~]$ uptime
15:56:36 up 617 days, 20:26, 2 users, load average: 0.00, 0.01, 0.00
15:56:36 up 617 days, 20:26, 2 users, load average: 0.00, 0.01, 0.00
其内容如下:
15:57:42
|
表示系统当前时间
|
up 476 days
|
系统运行时间,格式为时:分
|
3 users
|
当前登陆的用户数
|
load average: 0.27, 0.18, 0.09
|
系统平均负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
|
ps:
对于laod average表示的系统平均负载。根据cpu核数有不同的含义:
当CPU为单核时,如果如果load=1说明,该CPU满负荷。load<1,说明还没满负荷,系统性能良好
当CPU为多核时,例如CPU为4和,当load=4时,所有CPU为满负荷。
下面为更详细的说明:
A、单核CPU
B、多核CPU
我们经常会发现服务器load>1时,系统仍然运行得不错,那是因为服务器是多核处理器。
假设我们CPU为2核的,那就意味着我们有2条马路,当load=2时,所有马路都跑满车,也就是所有CPU都满负荷运行。
C、三种load平局负荷值,如何观测
第一个为 1 分钟前到现在的平均负载
第二个为 5 分钟前到现在的平均负载
第三个为15分钟前到现在的平均负载
通常的情况下,我们可以先看15分钟前的负载。负荷负载很高的话,再看看1分钟和5分钟负载是否有下降的趋势。
1分钟的load>1,可能没有那么重要;但是如果15分钟的load>1,说明系统出现负载问题了
2)、第二行:进行运行统计信息
Tasks: 204 total, 1 running, 203 sleeping, 0 stopped, 0 zombie
Tasks: 204 total
|
进程总数
|
1 running
|
正在运行的进程数
|
203 sleeping
|
睡眠的进程数
|
0 stopped
|
停止的进程数
|
0 zombie
|
僵尸进程数
|
3)、第三行:
CPU运行信息
Cpu(s): 3.3%us, 0.4%sy, 0.0%ni, 96.2%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
3.3%us
|
用户空间占用CPU百分比
|
0.4%sy
|
内核空间占用CPU百分比
|
0.0%ni
|
用户进程空间内改变过优先级的进程占用CPU百分比
|
96.2%id
|
空闲CPU百分比
|
0.1%wa
|
等待输入输出的CPU百分比
|
0.0%hi
|
硬中断(Hardwar IRQ) 占用CPU的百分比
|
0.0%si
|
软中断(Software Interrupts) 占用CPU的百分比
|
0.0%st
|
|
4)、第四行:
内存信息
Mem: 8174516k total, 4105424k used, 4069092k free, 846460k buffers
8174516k total
|
物理总内存
|
4105424k used
|
已经使用的物理总内存
|
4069092k free
| 空闲的内存总量 |
4069092k free
| 用作内核缓存的内存量 |
5)、第五行:交换区
信息
Swap: 8385920k total, 38040k used, 8347880k free, 1215704k cached
8174516k total
|
交换区总量
|
38040k used
|
已经使用的交换区
|
8347880k free
| 空闲的交换区 |
1215704k cached
| 用作内核缓存的内存量。 |