进程管理工具之top、htop、glances、dstat

进程管理经常用到的工具有:top、htop、glances、dstat,下面一一介绍。

 

htop、glances、dstat都是epel源里面的工具,需要单独安装。

推荐阿里云的yum镜像站点:

    CentOS6 :http://mirrors.aliyun.com/epel/6Server/x86_64/

    CentOS7 :http://mirrors.aliyun.com/epel/7/x86_64

 

top命令

top命令常用参数:

-d 1    # 设置刷新时间间隔为1s【默认是3秒】

-b      # 批显示模式

-n 接数字   # 设置显示迭代的次数

-b -n 3# 批显示模式,显示3次即退出top命令

-U 用户名   # 仅显示对应用户的top命令进程信息

wKioL1XsSODASXA8AAIT1YGOLFc093.jpg

 

load average: 三个数分别代表不同时间段的系统平均负载(一分钟、五分钟、以及十五分钟)

使用top命令或者uptime命令查看系统负载,如果这个数除以CPU的数目(grep 'model name' /proc/cpuinfo |wc -l),所得值大于5就表明系统在超负荷运转。

具体请参考博文:http://blog.csdn.net/evenness/article/details/7658221

 

在top运行界面,各按键对应的功能如下:

    M   按照内存占用大小排序。

    P   按照CPU占用率排序

    T   按照累计占据CPU的时长排序

    l   显示或隐藏load average和启动时间

    m   显示或隐藏Memory、swap占有率

    t   显示或隐藏进程summary信息及CPU使用信息

    c   显示完整的命令行信息

    q   退出top命令

    V   树状视图(CentOS 7上支持)

   

    输入d 会提示修改top命令的刷新时间间隔。

    输入k 会提示输入pid号以结束对应的进程。

    输入r 会提示输入pid号以修改对应的nice值

 

CPU信息一行(如下图)所对应的英文缩写

 

wKiom1XsRrmi5BL_AABzmMS_c0Q249.jpg

 

    us = user mode  用户空间占用CPU的百分比

    sy = system mode内核空间占用CPU的百分比

    ni = low priority user mode (nice) 改变过优先级的进程占用CPU的百分比

    id = idle task  空闲CPU百分比

    wa = I/O waiting IO等待占用CPU的百分比

    hi = servicing IRQs硬中断(Hardware IRQ)占用CPU的百分比

    si = servicing soft IRQs软中断(Software Interrupts)占用CPU的百分比

    st = steal (time given to other DomU instances)  被偷走的时间这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。

 

htop命令

top命令很老了,htop支持鼠标操作,更加人性化,支持鼠标。

htop是epel源里面的文件,请确保epel源配置正确。

yum install htop -y

终端界面直接输入htop即可,如下图:

wKioL1XsSOHB9LyfAAXQEer8VwU813.jpg

在htop界面,常用如下操作:

  • 按F2键,可以设置显示格式、显示哪些数据。

 

  • 按F9键,可以给选定的进程发送信号(重启、关闭信号等)。Enter确认操作,ESC取消操作。

wKiom1XsRrqQls_-AAJvELPyMUU746.jpg

 

  • 按F5键或者小写的t键,可以以进程树的方式查看。

wKioL1XsSOKhk0s3AAMBLACm4Nw159.jpg

 

  • 按F3键,可以搜索指定的进程。

wKiom1XsRrzw2Xe8AANGz8HVNE4390.jpg

 

  • 按l键(小写字母),列出指定进程打开的文件列表

  • 按a键,将选定的进程绑定至某指定CPU核心

  • 按s键,跟踪选定进程的系统调用

 

 

htop的常用的几个命令行选项:

-s 选项     # sort 按指定的列排序,如htop -s PID

-u 用户名   # 显示指定用户名的进程信息

-d 数值    # 修改htop刷新时间间隔

 

glances命令

glances的牛逼之处在于可以自动高亮利用最高系统资源的程序,并为Linux提供尽可能多的信息。

glances工具属于epel源里面的,是一款跨平台的系统资源监视器。

运行效果如下图:

 

wKiom1XsRr3TZIEDAASOO7nzEQA304.jpg

 

    glances命令:

        # 参考博文:http://linux.cn/article-2782-1.html

 

        参数:

        glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [--password] [-t refresh] [-f file] [-o output]

 

 

        内建命令:

 

              a  Sort processes automatically     l  Show/hide logs

              c  Sort processes by CPU%           b  Bytes or bits for network I/O

              m  Sort processes by MEM%           w  Delete warning logs

              p  Sort processes by name           x  Delete warning and critical logs

              i  Sort processes by I/O rate       1  Global CPU or per-CPU stats

              d  Show/hide disk I/O stats         h  Show/hide this help screen

              f  Show/hide file system stats      t  View network I/O as combination

              n  Show/hide network stats          u  View cumulative network I/O

              s  Show/hide sensors stats          q  Quit (Esc and Ctrl-C also work)

              y  Show/hide hddtemp stats

 

        常用选项:

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

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

            -f /path/to/somefile: 设定输入文件位置;

            -o {HTML|CSV}:输出格式;

            -m: 禁用mount模块

            -n: 禁用网络模块

            -t #: 延迟时间间隔

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

 

        C/S模式下运行glances命令:

            服务模式:

                glances -s -B LocalIP -P xxxx

 

                    # IPADDR: 指明监听于本机哪个地址

                    # -P 后面接明文密码

 

            客户端模式:

                glances -c RemoteIP -P xxxx

 

                    # IPADDR:要连入的服务器端地址

                    # -P 后面接明文密码

 

 

dstat命令

dstat命令运行效果如下:

 wKioL1XsSYjT_T4mAAF4WHSLhKE280.jpg

dstat命令行参数有:

-c  显示CPU的相关统计信息

-m  显示内存的相关统计信息

-n  显示网络的相关统计信息

-l  显示负载的相关统计信息(load average)

-d  显示Disk相关统计信息

-g  显示page相关统计数据

-p  显示process相关统计数据

-r  显示io请求相关的统计数据

-s  显示swapped相关的统计数据

 

--tcp

--udp

--unix

--raw

--socket

 

--ipc

 

--top-cpu:显示最占用CPU的进程;

--top-io: 显示最占用io的进程;

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

--top-lantency: 显示延迟最大的进程;

 

例如:

dstat 3     # 每隔三秒刷新,但最新的数据都会每秒刷新显示。

 

你可能感兴趣的:(进程管理类命令详解)