Linux系统可以通过top命令显示系统的CPU、内存、运行时间、交换分区和执行线程等信息。 top命令可以有效地发现系统缺陷在哪里。 内存不足、CPU处理能力不足、I/o读写过高。
一.顶部选项
用法: top-HV|- abchimmss-d delay-n iterations-ppid [,pid .]
-a :根据您使用的内存排序-d:number表示秒数,表示top命令显示的页面刷新一次的时间间隔。 默认值为5秒。 - b :按批次运行顶层。 - n :与- b组合使用,表示需要进行几次top命令的输出结果。 -p :指定特定的pid进程号进行观察。 (c )显示完整治疗命令(I )忽略失效过程s :保密模式-S :累积模式; (I )安排间隔时间; -u :指定用户名
二. top命令页面详情
直接输入top命令可以获得以下结果:
2.1、系统时间相关
依次显示系统的当前时间、系统到目前为止运行的时间、当前登录到系统的用户数
2.2、平均负荷
系统负载(任务队列平均长度)的三个值分别是从1分钟、5分钟、15分钟前到现在的平均值(由cpu数决定)。 假设平均负载始终小于或等于1.2,且有两台cup机器。 那么cpu很少不够。 也就是说,Load平均小于Cpu数量,如果一般负载超过Cpu数量的5倍,则表示过载)
2.3、工艺相关参数
Tasks: 288 total、2 running、286 sleeping、0 stopped、0 zombie
2.4、cpu相关参数
cpu(s ) : ) 32.0 ) us (用户使用的cpu )、2.0 ) sy )、0.0 ) Ni (在用户空间中更改优先级的进程使用的cpu )、65.3 ) id (空闲的cpu )、0.1 ) wa
2.5、内存相关参数
Mem: 16466536k total、7943976k used、8522560k free、404760k buffers
2.6、交换分区相关参数
swap : 4194300 k总体、0k用户、4194300 k自由、2228400 k缓存、缓冲的交换分区总量
2.7、具体工艺相关参数
进程PID (PID )。
用户(流程所有者) ) )。
宣传(优先级) )
Ni(Nice值,负值表示高优先级,正值表示低优先级) ) ) ) ) ) ) ) ) )。
VIRT (进程使用的虚拟内存总量,VIRT=SWAP RES ) )。
RES (进程使用的未交换的物理内存大小) )。
共享内存大小(SHR )
s )进程状态,D=不可中断休眠状态R=运行S=休眠T=跟踪/停止Z=僵尸进程(%CPU ) (从上次更新到现在的CPU时间占有率) %MEM ) )进程使用的物理内存的百分比)
时间(进程使用CPU的总时间) ) ) ) ) ) )。
COMMAND (命令名称,命令行)。
其他未显示的说明:
PID#父进程id
UID #进程所有者的用户id
USER #进程所有者的用户名
组#进程所有者的组名称
启动ty#进程的终端名称。 如果不是从终端启动的进程,会显示? P #最后使用的CPU仅在多CPU环境中有意义
TIME #进程使用的CPU时间的总和,单位秒
SWAP #进程使用的虚拟内存中,交换的大小、单位kb
代码#可执行代码消耗的物理内存的大小,单位kb
DATA #可执行代码以外的部分(数据段堆栈)消耗的物理内存大小,单位kb
nFLT #页面错误次数
nDRT #最后一次写入到当前时已修改的页数。
WCHAN #如果此进程正在休眠,将显示正在休眠的系统函数名称
Flags #任务标志
三、top命令的相互理解
使用top后,可以直接输入h吗? 查看命令交换帮助:
Help for Interactive Co
mmands - procps version 3.2.8Window1:Def: Cumulative mode Off. System: Delay 3.0secs; Secure mode Off.Z,B Global:'Z' change color mappings; 'B' disable/enable bold #Z改变颜色,B加粗
l,t,m Toggle Summaries:'l' load avg; 't' task/cpu stats; 'm'mem info #t:显示和隐藏任务/cpu信息;m:显示和隐藏内存信息;l显示和隐藏平均负载信息1,I Toggle SMP view: '1' single/separate states; 'I' Irix/Solaris mode #1:监控每个逻辑CPU的状况
#f:进入字段显示配置模式,可增加或者移除显示字段,按相应的字母新增或去除;输入相应的字母,按enter确认
#o:进入字段顺序设置模式,可配置显示位置顺序,按相应的字母往下移动,按“shift+相应的字母”往上移动
f,o . Fields/Columns: 'f' add or remove; 'o'change display order
F or O . Select sort field #F进入字段排序配置模式,可设置排序的字段 ; O设置默认的排序字段 . Move sort field: ''next col right
R,H . Toggle:'R' normal/reverse sort; 'H'show threads #R设置排序为正序、反序
c,i,S . Toggle:'c' cmd name/line; 'i' idle tasks; 'S'cumulative time #i只显示正在运行的进程;c:切换显示命令名称和完整命令行
x,y . Toggle highlights:'x' sort field; 'y'running tasks
z,b . Toggle:'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
u . Show specific user only #输入用户,显示用户的任务
n or # . Set maximum tasks displayed
k,r Manipulate tasks:'k' kill; 'r'renice
d or s Set update interval #s设置刷新的时间--------常用
W Write configuration file
q Quit
( commands shown with'.'require a visible task display window )
Press'h' or '?' forhelp with Windows,
any other key tocontinue
M:根据驻留内存大小进行排序。-------------常用
P:根据CPU使用百分比大小进行排序。-----------常用
交互实践:
使用1,查看每个cpu的情况
使用f命令调出Flags列:f命令交互,然后输入z,enter确认就好
然后使用M,更具内存排序(降序)
top命令默认值显示前面一部分的进程,若是想要查看全部的进程信息,则需要使用命令:top -ab -n 1,在这个命令中,a表示按内存倒序排列,b表示将所有列输出,n表示只执行一次
参考: