- 论坛徽章:
- 0
|
top:动态观察程序的变化
相对于 ps 是撷取一个时间点的程序状态, top 则可以持续侦测程序运作的状态!使用方式如下:
[root@www ~]# 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 值。
q :离开 top 软体的按键。
其实 top 的功能非常多!可以用的按键也非常的多!可以参考 man top 的内部说明文件! 这里仅是列出一些常用的选项而已。接下来让我们实际观察一下如何使用 top 与 top 的画面吧!
范例一:每两秒钟更新一次 top ,观察整体资讯:
[root@www ~]# top -d 2
top - 17:03:09 up 7 days, 16:16, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 80 total, 1 running, 79 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.5%us, 0.5%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 742664k total, 681672k used, 60992k free, 125336k buffers
Swap: 1020088k total, 28k used, 1020060k free, 311156k cached
/tmp/top.txt
# 这样一来,嘿嘿!就可以将 top 的资讯存到 /tmp/top.txt 档案中了。
这玩意儿很有趣!可以帮助你将某个时段 top 观察到的结果存成档案,可以用在你想要在系统背景底下执行。 由于是背景底下执行,与终端机的荧幕大小无关,因此可以得到全部的程序画面! 那如果你想要观察的程序 CPU 与记忆体使用率都很低,结果老是无法在第一行显示时,该怎办? 我们可以仅观察单一程序喔!如下所示:
范例三:我们自己的 bash PID 可由 $$ 变数取得,请使用 top 持续观察该 PID
[root@www ~]# echo $$
13639 top - 17:31:56 up 7 days, 16:45, 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, 0.0%st
Mem: 742664k total, 682540k used, 60124k free, 126548k buffers
Swap: 1020088k total, 28k used, 1020060k free, 311276k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13639 root 15 0 5148 1508 1220 S 0.0 0.2 0:00.18 bash
看到没!就只会有一支程序给你看!很容易观察吧!好,那么如果我想要在 top 底下进行一些动作呢? 比方说,修改 NI 这个数值呢?可以这样做:
范例四:承上题,上面的 NI 值是 0 ,想要改成 10 的话?
# 在范例三的 top 画面当中直接按下 r 之后,会出现如下的图样!
top - 17:34:24 up 7 days, 16:47, 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, 99.5%id, 0.0%wa, 0.0%hi, 0.5%si, 0.0%st
Mem: 742664k total, 682540k used, 60124k free, 126636k buffers
Swap: 1020088k total, 28k used, 1020060k free, 311276k cached
PID to renice: 13639 5148 1508 1220 S 0.0 0.2 0:00.18 bash
看到不同处了吧?底线的地方就是修改了之后所产生的效果!一般来说,如果想要找出最损耗 CPU 资源的那个程序时,大多使用的就是 top 这支程式啦!然后强制以 CPU 使用资源来排序 (在 top 当中按下 P 即可), 就可以很快的知道啦!。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/108545/showart_2131598.html |
|