A011:Top命令--类似Windows下的任务管理器,监测性能

Top命令:类似Windows下的任务管理器,监测性能

[root@linux ~]# top [-dbnp]

 

参数说明

-d :后面可以接秒数,就是整个程序画面更新的秒数。预设是5 秒;

-b :以批次的方式执行top ,还有更多的参数可以使用喔!

通常会搭配数据流重导向来将批次的结果输出成为档案。

-n :与-b 搭配,意义是,需要进行几次top 的输出结果。

-p :指定某些个PID 来进行观察监测而已。

 

范例1:每两秒钟更新一次top ,观察整体信息

[root@linux~]# top -d 2

这时候系统以一定时间(如5秒)更新系统的性能指标。

top - 18:30:36 up 30 days, 7 min, 1 user, load average: 0.42, 0.48, 0.45

Tasks: 163 total, 1 running, 161 sleeping, 1 stopped, 0 zombie

Cpu(s): 4.7% us, 4.0% sy, 6.3% ni, 82.5% id, 0.4% wa, 0.1% hi, 2.0% si

Mem: 1033592k total, 955252k used, 78340k free, 208648k buffers

Swap: 1052216k total, 728k used, 1051488k free, 360248k cached

<==如果加入 k 或 r 时,就会有相关的字样出现在这里喔!(参考下面按键指令)

 

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

3981 apache 34 19 84012 11m 7352 S 17.3 1.2 0:00.09 httpd

1454 mysql 16 0 289m 40m 2228 S 3.8 4.0 115:01.32 mysqld

3985 dmtsai 15 0 2148 904 668 R 3.8 0.1 0:00.03 top

1 root 16 0 3552 552 472 S 0.0 0.1 0:08.90 init

2 root RT 0 0 0 0 S 0.0 0.0 0:52.76 migration/0

3 root 34 19 0 0 0 S 0.0 0.0 0:03.01 ksoftirqd/0

 

以上性能指标说明:

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 使用时间的累加;

 

 

按键指令

在top 执行过程当中可以使用的按键指令:

? :显示在top 当中可以输入的按键指令;

P :以 CPU的使用资源排序显示;

M :以 Memory的使用资源排序显示;

N :以 PID来排序喔!

T :由该Process 使用的CPU 时间累积(TIME+) 排序。

k :给予某个PID 一个讯号(signal)

r :给予某个PID 重新制订一个nice 值。

 

适用范例

范例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 -p10604

 

范例四:承上题,上面的NI 值是0 ,想要改成10 的话

# 在范例三的top 画面当中直接按下r 之后,会出现如下的图样!

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, 131164kbuffers

Swap: 1020116k total, 880k used, 1019236k free, 95772kcached

Renice PID 10604 to value: 10

 

范例五:杀掉不用的但是很占内存/cpu的进程

第一步:查找出最占内存/cpu的PID;

第二步:查看COMMAND字段的值,看是什么程序如firefox, 记下该进程的PID;

第三步:杀进程kill-s 9 PID

 

 

总结

top 也是个挺不错的程序观察工具!但不同于ps 是静态的结果输出,top 这个程序可以持续的监测(monitor) 整个系统的程序工作状态,例如上面的范例一所示啊! 在预设的情况下,每次更新程序资源的时间为5 秒,不过,可以使用-d 来进行修改

一般来说,如果鸟哥想要找出最损耗CPU 资源的那个程序时,大多使用的就是top 这支程序啦!然后强制以CPU 使用资源来排序(在top 当中按下P 即可), 就可以很快的知道啦!^_^。多多爱用这个好用的东西喔!

 

参考:http://www.cnblogs.com/allen8807/archive/2010/11/10/1874001.html

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值