linux top命令介绍

来源《鸟哥的linux私房菜》 html

top:动态观察程序的变化 mysql

 

?
[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 ,观察总体信息 linux

 

?
[root@linux~]# top -d 2
top -18:30:36up30days,7min,1user, load average:0.42,0.48,0.45
Tasks:163total,1running,161sleeping,1stopped,0zombie
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 时,就会有相关的字样出如今这里喔!
 
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
3981apache34198401211m7352S17.31.20:00.09httpd
1454mysql160289m 40m2228S3.84.0115:01.32mysqld
3985dmtsai1502148904668R3.80.10:00.03top
1root1603552552472S0.00.10:08.90init
2rootRT0000S0.00.00:52.76migration/0
3root3419000S0.00.00:03.01ksoftirqd/0

 

 

范例2:将 top 的信息进行 2 次,而后将结果输出到 /tmp/top.txt sql

 

?
[root@linux~]# top -b -n 2 > /tmp/top.txt
# 这样一来,嘿嘿!就能够将 top 的信息存到 /tmp/top.txt 档案中了。

 

 

范例3:假设 10604 是一个已经存在的 PID ,仅观察该程序? apache

 

?
[root@linux~]# top -d 2 -p10604
top -13:53:00up51days,2:27,1user, load average:0.00,0.00,0.00
Tasks:1total,0running,1sleeping,0stopped,0zombie
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
 
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
10604root160539615441244S0.00.40:00.07bash

 

 

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

 

?
# 在范例三的 top 画面当中直接按下 r 以后,会出现以下的图样!
top -13:53:00up51days,2:27,1user, load average:0.00,0.00,0.00
Tasks:1total,0running,1sleeping,0stopped,0zombie
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
PIDto renice:10604
 
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
10604root160539615441244S0.00.40:00.07bash
# 以后,能够输入 nice 值了!
top -13:53:00up51days,2:27,1user, load average:0.00,0.00,0.00
Tasks:1total,0running,1sleeping,0stopped,0zombie
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
RenicePID10604to value:10
 
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
10604root3010539615441244S0.00.40:00.07bash

 

 

 

?
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便可), 就能够很快的知道啦! ^_^。多多爱用这个好用的东西喔!
相关文章
相关标签/搜索