首页 > 代码库 > 系统性能监控工具 - top

系统性能监控工具 - top

实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

[root@linux ~]# top [-d] | top [-bnp] 
参数: 
-d:后面可以接秒数,就是整个程序画面更新的秒数。预设是5秒; 
-b:以批次的方式执行 top
通常会搭配数据流重导向来将批次的结果输出成为档案。 
-n: 与-b搭配,意义是需要进行几次top的输出结果。 
-p:指定某些个PID来进行观察监测

在top执行过程当中可以使用的按键指令: 
?:显示在top当中可以输入的按键指令; 
P:以CPU的使用资源排序显示; 
M:以Memory的使用资源排序显示; 
N:以PID来排序喔! 
T:由该Process使用的CPU时间累积(TIME+)排序。 
k:给予某个PID一个讯号(signal) 
r:给予某个PID重新制订一个nice值。

f:进入显示编辑模式,Esc键退出该模式。

h:帮助信息,如:

     

 

范例一:每两秒钟更新一次top,观察整体信息: 
[root@linux ~]# top -d 2

范例二:将top的信息进行2次,然后将结果输出到/tmp/top.txt 
[root@linux ~]# top -b -n 2 > /tmp/top.txt

范例三:假设10604是一个已经存在的PID,仅观察该程序 
[root@linux ~]# top -d 2 -p10604 

范例四:只单独显示某个线程的情况

1、[root@linux ~]# top -d 2 -p10604  

2、在按键:H 

范例五:承上题,上面的NI值是0,想要改成10的话? 在范例三的top画面当中直接按下r之后会出现如下的图样: 

top - 13:53:00 up 51 days, 2:27, 1 user, load average: 0.00,0.00, 0.00 
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie 
Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si 
Mem: 385676k total, 371760k used, 13916k free, 131164k buffers 
Swap: 1020116k total, 880k used, 1019236k free, 95772k cached 
PID to renice: 10604 
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
10604 root 16 0 5396 1544 1244 S 0.0 0.4 0:00.07 bash 
之后,可以输入nice值了! 
top - 13:53:00 up 51 days, 2:27, 1 user, load average: 0.00,0.00, 0.00 
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie 
Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si 
Mem: 385676k total, 371760k used, 13916k free, 131164k buffers 
Swap: 1020116k total, 880k used, 1019236k free, 95772k cached 
Renice PID 10604 to value: 10 
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
10604 root 30 10 5396 1544 1244 S 0.0 0.4 0:00.07 bash

 

top输出解析:

   top主要分为两个画面,上面的画面为整个系统的资源使用状态,基本上总共有六行,显示的内容依序是: 
第一行:显示系统已启动的时间、目前上线人数、系统整体的负载(load)。 比较需要注意的是系统的负载,三个数据分别代表1,5,10分钟的平均负载。一般来说,这个负载值应该不大于CPU个数*CPU核数*0.7

第二行:显示的是目前的观察程序数量,比较需要注意的是最后的zombie那个数值,如果不是0,好好看看到底是那个process变成疆尸了吧
第三行:显示的是CPU的整体负载,每个项目可使用?查阅。需要观察的是id (idle)的数值,一般来说,他应该要接近100%才好,表示系统很少资源被使用

 
第四行与第五行:表示目前的物理内存与虚拟内存 (Mem/Swap) 的使用情况。

 
第六行以后:这个是当在top程序当中输入指令时,显示状态的地方。top底下的画面,则是每个process使用的资源情况。

默认情况下仅显示比较重要的PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。
更改显示内容:
1)通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。
2)按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。
3)按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。

 

系统性能监控工具 - top