top 查看资源使用
top:动态观察程序的变化
[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 值。 |
范例1:每两秒钟更新一次 top ,观察整体信息
[root@linux ~]#
top -d 2top
- 18:30:36 up
30 days,
7 min,
1 user,
load average: 0.42,
0.48,
0.45Tasks:
163 total,
1 running,
161 sleeping,
1 stopped,
0 zombieCpu(s):
4.7%
us, 4.0%
sy, 6.3%
ni, 82.5%
id, 0.4%
wa, 0.1%
hi, 2.0%
siMem:
1033592k total, 955252k used, 78340k free, 208648k buffersSwap:
1052216k total, 728k used, 1051488k free, 360248k cached<==如果加入
k 或 r 时,就会有相关的字样出现在这里喔!PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND3981 apache
34 19 84012 11m
7352 S 17.3 1.2 0:00.09 httpd1454 mysql
16 0 289m
40m 2228 S 3.8 4.0 115:01.32 mysqld3985 dmtsai
15 0 2148 904 668 R 3.8 0.1 0:00.03 top1 root
16 0 3552 552 472 S 0.0 0.1 0:08.90 init2 root
RT 0 0 0 0 S 0.0 0.0 0:52.76 migration/03 root
34 19 0 0 0 S 0.0 0.0 0:03.01 ksoftirqd/0 |
范例2:将 top 的信息进行 2 次,然后将结果输出到 /tmp/top.txt
[root@linux ~]#
top -b -n 2 > /tmp/top.txt#
这样一来,嘿嘿!就可以将 top 的信息存到 /tmp/top.txt 档案中了。 |
范例3:假设 10604 是一个已经存在的 PID ,仅观察该程序?
[root@linux ~]#
top -d 2 -p10604top
- 13:53:00 up
51 days,
2:27,
1 user,
load average: 0.00,
0.00,
0.00Tasks:
1 total,
0 running,
1 sleeping,
0 stopped,
0 zombieCpu(s):
0.0%
us, 0.0%
sy, 0.0%
ni, 100.0%
id, 0.0%
wa, 0.0%
hi, 0.0%
siMem:
385676k total, 371760k used, 13916k free, 131164k buffersSwap:
1020116k total, 880k used, 1019236k free, 95772k cachedPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND10604 root
16 0 5396 1544 1244 S 0.0 0.4 0:00.07 bash |
范例四:承上题,上面的 NI 值是 0 ,想要改成 10 的话?
#
在范例三的 top 画面当中直接按下 r 之后,会出现如下的图样!top
- 13:53:00 up
51 days,
2:27,
1 user,
load average: 0.00,
0.00,
0.00Tasks:
1 total,
0 running,
1 sleeping,
0 stopped,
0 zombieCpu(s):
0.0%
us, 0.0%
sy, 0.0%
ni, 100.0%
id, 0.0%
wa, 0.0%
hi, 0.0%
siMem:
385676k total, 371760k used, 13916k free, 131164k buffersSwap:
1020116k total, 880k used, 1019236k free, 95772k cachedPID to
renice: 10604PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND10604 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.00Tasks:
1 total,
0 running,
1 sleeping,
0 stopped,
0 zombieCpu(s):
0.0%
us, 0.0%
sy, 0.0%
ni, 100.0%
id, 0.0%
wa, 0.0%
hi, 0.0%
siMem:
385676k total, 371760k used, 13916k free, 131164k buffersSwap:
1020116k total, 880k used, 1019236k free, 95772k cachedRenice
PID 10604 to
value: 10PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND10604 root
30 10 5396 1544 1244 S 0.0 0.4 0:00.07 bash |
top
也是个挺不错的程序观察工具!但不同于 ps 是静态的结果输出, top 这个程序可以持续的监测 (monitor) 整个系统的程序工作状态,例如上面的范例一所示啊! 在预设的情况下,每次更新程序资源的时间为
5 秒,不过,可以使用
-d 来进行修改。 top 主要分为两个画面,上面的画面为整个系统的资源使用状态,基本上总共有六行, 显示的内容依序是:•
第一行:显示系统已启动的时间、目前上线人数、系统整体的负载(load)。 比较需要注意的是系统的负载,三个数据分别代表 1,
5,
10 分钟的平均负载。
一般来说,这个负载值应该不太可能超过 1 才对,除非您的系统很忙碌。
如果持续高于 5 的话,那么.....仔细的看看到底是那个程序在影响整体系统吧!•
第二行:显示的是目前的观察程序数量,比较需要注意的是最后的 zombie 那个数值,如果不是 0 ,嘿嘿!好好看看到底是那个
process 变成疆尸了吧?!•
第三行:显示的是 CPU 的整体负载,每个项目可使用
? 查阅。需要观察的是 id (idle) 的数值,一般来说,他应该要接近 100%
才好,表示系统很少资源被使用啊! ^_^。•
第四行与第五行:表示目前的物理内存与虚拟内存 (Mem/Swap) 的使用情况。•
第六行:这个是当在 top 程序当中输入指令时,显示状态的地方。 例如范例四就是一个简单的使用例子。至于
top 底下的画面,则是每个 process 使用的资源情况。比较需要注意的是:•
PID :每个
process 的 ID 啦!•
USER:该
process 所属的使用者;•
PR :Priority
的简写,程序的优先执行顺序,越小越早被执行;•
NI :Nice
的简写,与 Priority 有关,也是越小越早被执行;•
%CPU:CPU 的使用率;•
%MEM:内存的使用率;•
TIME+:CPU 使用时间的累加;一般来说,如果鸟哥想要找出最损耗
CPU 资源的那个程序时,大多使用的就是
top 这支程序啦!然后强制以 CPU 使用资源来排序
(在 top 当中按下 P 即可),
就可以很快的知道啦! ^_^。多多爱用这个好用的东西喔! |
浙公网安备 33010602011771号