系统监控工具htop、glances、dstat介绍
背景:企业生产环境中,诸多数用户喜欢使用各种发行版自带的top工具来监控系统,但是有些时候想要通过top寻找一个占用系统资源比较大的应用或进程可能会比较困难。 因为 top 命令本身并不会帮助我们高亮那些占用系统资源比较多的进程。这里介绍下相对top更加犀利的监控工具。
htop:是top的增强版。一款支持鼠标操作、高亮以及自动排序等多功能动态系统监测工具。可以定义指定刷新时
间以及交互式操作。系统没有自带,所以需要我们自行安装。先来看一下它华丽的界面。
下面来介绍下这个界面:
图片中CPU、memory、swap界面都以条状和数字形式显示了直观可见。load average(平均负载)表示当前cpu上等待运行的进程队列的队列长度,如长度为1表示1个进程,其三个值分别表示
过去1分钟、5分钟、15分钟进程队列的平均长度。其值越大表示当前cpu的负载越高而且还可以使用htop后跟 选项:-d #: 刷新时间间隔 ,-u USERNAME: 仅显示指定用户的进程 -s COLUMN: 以
指定的字段进行排序。
上面这些选项,可以通过鼠标点击实现自动排序。使用F1键可以获取帮助。F10键退出。当然也可以使用鼠标点击。
s跟踪选定进程发起的系统调用,想跟踪某进程直接鼠标选中-->键入s进入跟踪进程的界面,按ESC键结束跟踪。l跟踪选定进程运行时打开的文件,鼠标先选中进程-->键入l进入跟踪进程的
界面,按F5刷新-->按ESC键结束跟踪。t键还有目录树等功能。怎么样是不是很强大!
glances:Glances 是一个用来监视 GNU/Linux 和 FreeBSD 操作系统的 GPL 授权的自由软件。Glances 同时也提供了很多实用的选项。 通过 Glances,我们可以监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器和文件系统 空间的利用情况。
同样的glances也需要自行安装,其中m键表示按memory排序,c键表示按照CPU占用排序。更多我们通过,按h获取帮助。
除此之外,glances的强大之处还在于其支持{HTML和CSV}查看。例如: 首先安装nginx模块启动nginx服务-->glances -o HTML -f /usr/share/nginx/html/。
dstat:是一个实时刷新的工具,功能也是非常强大。total-cpu-usage表示cpu的使用率统计;-dsk/total表示磁盘读写速率;net/total表示网络传输速率;paging表示内存页换进换出情况;system表示中断以及上下文切换。
dstat -c:仅统计cpu的使用状况。 -d:仅显示磁盘相关的使用情况。-g:仅显示内存页面换进换出的状况。-n:仅显示网络传输的状况。 --io:仅显示IO设备的读写速率状况。其中CPU的几个参数usr: user space。 sys: system、 idl: idle wai: waiting IO 、hiq: hardware interrupt 、si: software interrupt
以下dstat还支持下列选项,不在一一列举演示:
--aio: 显示异步io统计数据
--ipc: ipc相关的信息
--raw: raw socket
--tcp: tcp socket
--udp: udp socket
--socket: raw, tcp, udp
--unix: unix sock
--top-cpu:显示最占用CPU的进程
--top-bio:显示最占用block IO的进程
--top-mem: 显示最耗费内存的进程
--top-io:最占用IO的进程