在企业生产环境中,系统管理员通常要不定时的检查服务器上各资源的使用状况,如CPU使用率,负载,磁盘的读写速率,网络传输状况等等。因此,掌握一个进程管理工具的熟练使用,无疑对管理员的工作有事半功倍的效果。本文借助CentOS6.6向读者尽可能详细讲解top、htop、glances、以及dstat工具的使用方法和技巧。

    A.top工具

    top是CentOS系统自带的一款动态显示系统资源使用状况的进程管理工具,类似于windows下的任务管理器,其支持交互式命令以及定制显示内容。在命令行键入top后显示内容如下:

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第1张图片

其各字段表达的含义为;

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第2张图片

其中load average(平均负载)表示当前cpu上等待运行的进程队列的队列长度,如长度为1表示1个进程,其三个值分别表示过去1分钟、5分钟、15分钟进程队列的平均长度。其值越大表示当前cpu的负载越高

常用选项:

    top -d# 指定刷新时间间隔,如:20秒刷新一次 top -d20

    top -b以批次方式显示而非实时显示

    top -b -n#:指定显示的批次,如:20秒刷新一次,显示3个批次 top -d20 -b -n3


常用交互式命令:

    Pcpu百分比排序显示;

    M以内存占用量排序显示;

    Tcpu时间片累计占用时间排序显示;

    l是否显示top一行的信息;

               t是否显示进程及cpu两行的相关信息

              1是否单独显示每颗cpu的使用率

              s修改刷新时间间隔,单位为秒

              k杀死指定进程

    B.htop工具

    htop是top工具的增强版,提供了一个更美观的界面给管理员查看,支持交互命令且支持鼠标选定,由红帽公司收录在Fedora 社区提供的高质量软件源EPEL内,因此使用前需要yum 安装。安装完成后,在命令行键入htop显示如下内容:

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第3张图片

常用交互式命令有;

      F1获取帮助

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第4张图片


             u仅显示指定用户的进程

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第5张图片

           s跟踪选定进程发起的系统调用,以跟踪NetworkManager为例,先选中NetWorkManager进程-->键入s进入跟踪进程的界面,等待片刻之后,便会出现跟踪的结果-->按ESC键结束跟踪

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第6张图片


          l跟踪选定进程运行时打开的文件,以跟踪NetworkManager为例,先选中NetWorkManager进程-->键入l进入跟踪进程的界面,按F5刷新-->按ESC键结束跟踪

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第7张图片


           t以进程树的形式显示

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第8张图片


          a设定cpu的亲缘性(将选定的进程绑定到某颗cpu上)先选中某进程-->键入a,进行CPU的选择

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第9张图片

    C.glances

    glances是一个由Python语言开发的一款更为强大的系统资源监控工具,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。支持交互式命令,且具有C/S特性。使用前需要yum安装。在命令行键入glances显示如下:

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第10张图片

键入h,可查看其交互式命令的使用帮助,再次键入h,返回监控界面


Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第11张图片

常用选项

                -b: Byte为单位显示网卡数据速率;

                -d: 关闭磁盘I/O模块

                -f /path/to/somewhere: 设置输出html或csv文件的位置;注:可能需yum安装python-jinja2模块;且必须先使用 -o 指定格式再指定输出位置

                -o {HTML|CSV}设置文件的输出格式,可以使用html查看,通常与-f一起使用将html文件传输至/var/www/html/下,就可以使用网页查看了

                -m: 禁用mount模块

                -n: 禁用网络模块

              -t #: 指定刷新时间间隔

               -1:每个CPU的数据单独显示

以网页查看glances结果为例,首先安装nginx模块(rpm或yum安装均可)-->启动nginx服务-->glances -o HTML -f  /usr/share/nginx/html/(此为yum安装nginx后,nginx的默认工作目录)

在外部浏览器打开相应的地址即可

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第12张图片

glaces还支持C/S模式。在生产环境中,可以使用glances -s -B 服务器IP,在linux服务器上以服务模式启动,然后就可以在客户机上使用glances -c 服务器IP,监控远程服务器的系统资源使用情况。

例如:服务器的IP为:172.16.24.1。在服务器上执行:glances -s -B 172.16.24.1wKioL1R10vWwE77YAABlKYMAifQ893.jpg,在客户机上执行:glances -c 172.16.24.1可查看服务器的资源使用状态。(实际生产环境中,我们通常在服务器上将glances -s -B IP工作于后台作业中:nohubglances -s -B 172.16.24.1 &)

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第13张图片

    D.dstat

    dstat是一款比glances还要强大的系统监控工具,在生产环境中应用的更为广泛。它也需事先安装,安装完成后,在命令行键入dstat

                             

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第14张图片

其中:total-cpu-usage表示cpu的使用率统计;-dsk/total表示磁盘读写速率;net/total表示网络传输速率;paging表示内存页换进换出情况;system表示中断以及上下文切换(进程切换)

常用选项:

    # #:第一个#表示刷新时间间隔,第二个表示要显示的批次

    -c:仅统计cpu的使用状况

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第15张图片


    -d:仅显示磁盘相关的使用情况

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第16张图片


    -g:仅显示内存页面换进换出的状况

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第17张图片


    -n:仅显示网络传输的状况

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第18张图片


    --io:仅显示IO设备的读写速率状况

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第19张图片


    --top-cpu:显示最占cpu的进程

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第20张图片


    --top-io:最占用io设备的进程

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第21张图片


    --top-mem:最占用内存的进程

Linux服务器管理工具之进程管理工具top、htop、glances、dstat详解_第22张图片