概述
前一篇中,我们学习了关于进程查看的ps和pstree命令,本篇将介绍与进程管理相关的top、vmstat以及dstat命令。
top命令
相较于ps命令只能输出系统进程的快照信息,top命令则可以动态的显示系统进程的信息,并且可以使用热键进行动态管理。
排序:按相应的热键会以对应的信息进行排序
P:以占据的CPU百分比,%CPU
M:占据内存百分比,%MEM
T:累积占据CPU时长,TIME+
首部信息显示:
uptime信息:l命令
tasks及cpu信息:t命令
cpu分别显示:1 (数字)
memory信息:m命令
退出命令:q
修改刷新时间间隔:s
终止指定进程:k
保存文件:W
栏位信息简介: top命令显示信息的信息栏介绍
us:用户空间
sy:内核空间
ni:调整nice时间
id:空闲
wa:等待IO时间
hi:硬中断
si:软中断(模式切换)
st:虚拟机偷走的时间
选项:
-d #: 指定刷新时间间隔,默认为3秒
-b: 全部显示所有进程
-n #: 刷新多少次后退出
htop
另一款进程监控软件适合top相似的,即htop。相比已top的繁琐,htop则以更为细致分明的形式将进程信息显示出来,并且默认界面是支持鼠标操作的,当然首先要界面本身就支持鼠标,若是本身就工作在字符界面下,就不支持鼠标操作啦!
要使用htop就先要安装htop,这里推荐使用yum install htop 进行安装,因为htop在安装过程中也需要很多的依赖,使用yum进行安装会自行解决以来的问题。另外htop工具的包是不在centos安装光盘中的,而是在epel源中,所以也要事先配置要yum源,具体如何配置不在此赘述。
]# yum install htop
选项:
-d #: 指定延迟时间;
-u UserName: 仅显示指定用户的进程
-s COLUME: 以指定字段进行排序
子命令:
s: 跟踪选定进程的系统调用
l: 显示选定进程打开的文件列表
a:将选定的进程绑定至某指定CPU核心
t: 显示进程树
关于htop中各栏位的信息,与top并无太大差别,不在此叙述了。
]#htop
vmstat
vmstat命令可以显示给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况
]#vmstat
栏位信息简介:
procs:
r:可运行(正运行或等待运行)进程的个数,和核心数有关
b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
memory:
swpd: 交换内存的使用总量
free:空闲物理内存总量
buffer:用于buffer的内存总量
cache:用于cache的内存总量
swap: 出入是以内存为参照物的
si:从磁盘交换进内存的数据速率(kb/s)
so:从内存交换至磁盘的数据速率(kb/s)
io:
bi:从块设备读入数据到系统的速率(kb/s)
bo: 保存数据至块设备的速率
system:
in: interrupts 中断速率,包括时钟
cs: context switch 进程切换速率
cpu:
us:Time spent running non-kernel code
sy: Time spent running kernel code
id: Time spent idle. Linux 2.5.41前,包括IO-wait time.
wa: Time spent waiting for IO. 2.5.41前,包括in idle.
st: Time stolen from a virtual machine. 2.6.11前, unknown.
选项:
-s: 显示内存的统计数据
iostat
iostat可以监视系统输入输出情况和CPU的使用情况,但和vmstat一样,iostat也只是单纯的显示资源使用状况,并不能深入进行分析和了解。
选项:
-c:仅显示CPU使用情况;
-d:仅显示设备利用率;
-k:显示状态以千字节每秒为单位,而不使用块每秒;
-m:显示状态以兆字节每秒为单位;
-p:仅显示块设备和所有被使用的其他分区的状态;
-t:显示每个报告产生时的时间;
-V:显示版号并退出;
-x:显示扩展状态。
dstat
dstat可以展现比vmstat和iostat更为强大的能力!dstat拥有彩色的界面,并且可以指定监控的目标,能够自动刷新内容,也能指定刷新的时间和次数。同样这个工具可以使用yum install dstat来安装。安装包是在光盘的Package中,指定光盘为yum源即可。
]#dstat
语法:
dstat [-afv] [options..] [delay [count]]
选项:
-c: 显示cpu相关信息
-C #,#,...,total
-d: 显示disk相关信息
-D total,sda,sdb,...
-g:显示page相关统计数据
-m: 显示memory相关统计数据
-n: 显示network相关统计数据
-p: 显示process相关统计数据
-r: 显示io请求相关的统计数据
-s: 显示swapped相关的统计数据
项目:
--tcp
--udp
--unix
--raw
--socket
--ipc
--top-cpu:显示最占用CPU的进程
--top-io: 显示最占用io的进程
--top-mem: 显示最占用内存的进程
--top-latency: 显示延迟最大的进程
监控udp、tcp,监控CPU,显示时间,每三秒扫描一次,共扫描三次
]#dstat --udp --tcp -c -t 3 3