实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
[[email protected] ~]# 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,观察整体信息:
[[email protected] ~]# top -d 2
范例二:将top的信息进行2次,然后将结果输出到/tmp/top.txt
[[email protected] ~]# top -b -n 2 > /tmp/top.txt
范例三:假设10604是一个已经存在的PID,仅观察该程序
[[email protected] ~]# top -d 2 -p10604
范例四:只单独显示某个线程的情况
1、[[email protected] ~]# 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 键可以将当前的排序倒转。