一,top:是一个交互式实时的进程查看工具。


⒈常用选项有:

        -d # :指定刷新时间间隔,默认是3秒;

        -b :批处理;

        -n # :显示多少批次;


⒉常用内置命令:

        排序方式:

                P:以占据的CPU百分百排序;

                M:以占据内存的百分比排序;

                T:以占据CPU时长排序;

        显示uptine信息:l

        显示tasks(进程树)及CPU信息:t

                CPU分别显示:1 (数字)

        memory信息:m

        修改刷新时间间隔:s

        终止指定进程:k

        退出:q


⒊运行top命令:

    # top

wKioL1i3wrPhdNl5AAC6q4dIVOI796.png-wh_50

首部信息显示:当前时间    运行时长    在线用户数    平均负载

第二行:Tasks: 89 total         共有89个进程

              running:在运行的个数

              sleeping:休眠的个数

              stopped:处在停止态的个数

              zombie:处于僵尸态的个数

第三行:us(用户空间使用百分比),sy(内核空间使用百分比),ni(改变过优先级的进程占用CPU的百分比),id(空闲比例),wa(等待IO完成占用CPU的百分比),hi(处理硬件中断占用CUP的百分比),si(处理软件中断占用CPU的百分比),st(被虚拟化技术偷走的时间比)

第四行:内存的使用情况:total(总共),free(空闲的),used(已使用的),buff/cache(被buff/cache占用的内存)

    Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了系统的效率。

    Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。

    buff/cache都能被进程调用,所以真正的空闲内存应该是:free + buff + cache

第五行:交换内存使用情况:total(总共),free(空闲的),used(已使用的)

第六行空

第七行:各进程的状态监控,项目列表信息

        PID — 进程id

        USER — 进程所有者

        PR — 进程优先级

        NI — nice值。负值表示高优先级,正值表示低优先级

        VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

        RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

        SHR — 共享内存大小,单位kb

        S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

        %CPU — 上次更新到现在的CPU时间占用百分比

        %MEM — 进程使用的物理内存百分比

        TIME+ — 进程使用的CPU时间总计,单位1/100秒

        COMMAND — 进程名称(命令名/命令行)



二,htop命令:

     描述:交互式进程查看工具,top的升级版。

     用法:htop [-dChusv]

                         -d #:指定延迟时间;

                         -u UserName:仅显示指定用户的过程;

                         -s COLOMN:以指定字段进行排序;

                内键命令:

                       s:跟踪选定进程的系统调用;

                       l:显示选定进程打开的文件列表;

                       a:将选定的进程绑定至某指定CPU核心;

                       t:显示进程树;

    注:显示信息与htop信息相同;htop安装包在系统镜像里没有,要在网络源里下载。



三,vmstat命令:

    描述:

        报告信息流程、内存、分页块IO,陷阱,磁盘和cpu的活动。

    用法:

        vmstat [options] [delay [count]]

        

[root@local~]# vmstat 
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 731268    948 160036    0    0    71     6   56   98  0  1 98  1  0

            procs:

                r:等待运行的进程的个数;

                b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度);

            memory:

                swpd:交换内存的使用总量;

                free:空闲物理内存的总量;

                buff:用于buffer的内存总量;

                cache:用于cache的内存总量;

            swap:

                si:数据进swap的速率(kb/s);

                so:数据离开swap的速率(kb/s);

            io:

                bi:从块设备读出数据到系统的速率(kb/s);

                bo:保存数据至块设备的速率;

            system:

                in:interrupts,中断速率;

                cs:context switch,进程切换速率;

            cpu:

                us(用户空间使用百分比),sy(内核空间使用比例),id(空间比例),wa(等待IO完成),st(被虚拟化偷走的时间比)



pmap命令:

    用法: 

        pmap [options] pid [...]

            -x:显示详细格式的信息;

    描述:

        报告进程的内存映射关系;



glances命令:

    描述:

        glances 可以为 Unix 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:CPU 使用率



    • 内存使用情况

    • 内核统计信息和运行队列信息

    • 磁盘 I/O 速度、传输和读/写比率

    • 文件系统中的可用空间

    • 磁盘适配器

    • 网络 I/O 速度、传输和读/写比率

    • 页面空间和页面速度

    • 消耗资源最多的进程

    • 计算机信息和系统资源

         glances 工具可以在用户的终端上实时显示重要的系统信息,并动态地对其进行更新。这个高效的工具可以工作于任何终端屏幕。另外它并不会消耗大量的 CPU 资源,通常低于百分之二。glances 在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。您也可以自己将这个时间间隔更改为更长或更短的数值。glances 工具还可以将相同的数据捕获到一个文件,便于以后对报告进行分析和绘制图形。输出文件可以是电子表格的格式 (.csv) 或者 html 格式。

    常用选项:

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

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

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

        -f /PATH/TO/SOMEFILE:设定输出文件位置;

        -m:禁用mount模块;

        -n:禁用网络模块;

        -t #:延迟时间间隔;

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


        glances的内键命令可以按“h”获取帮助。


    c/s模式下运行glances命令:

        服务模式:

            glances -s -B IPADDR

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

        客户端模式:

            glances -c IPADDR

                IPADDR:要进入服务器端的地址;



dstat命令:

    描述:

        是一个全能系统信息统计工具,可以实时的监控cpu、磁盘、网络、IO、内存等使用情况。

    用法:

        dstat [-afv] [options..] [delay [count]]

wKioL1jB3ArAowKfAABuLJMXjxA902.png-wh_50

这是默认输出显示的信息:

CPU状态:CPU的使用率。这项报告更有趣的部分是显示了用户,系统和空闲部分,这更好地分析了CPU当前的使用状况。如果你看到"wait"一栏中,CPU的状态是一个高使用率值,那说明系统存在一些其它问题。当CPU的状态处在"waits"时,那是因为它正在等待I/O设备(例如内存,磁盘或者网络)的响应而且还没有收到。

磁盘统计:磁盘的读写操作,这一栏显示磁盘的读、写总数。

网络统计:网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。

分页统计:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,或者说内存非常分散,大多数情况下你都希望看到page in(换入)和page out(换出)的值是0 0。

系统统计:这一项显示的是中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。

默认情况下,dstat每秒都会刷新数据。如果想退出dstat,你可以按"CTRL-C"键。

           常用选项:

                -c:显示cpu相关信息;

                -d:显示磁盘的读写速率;

                -g:显示页面唤进唤出相关统计数据; 

                -i:显示中断的

                -l:显示负载:1min    5min    15min

                -m:显示内存(memory)相关统计数据;

                -n:显示网络(network)相关统计数据;

                -p:显示进程(process)相关统计数据;

                -r:显示io请求 相关的统计数据;读写

                -s:交换内存(swapped)的相关统计数据;

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

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

                --top-bio:指出块I/O最大的进程;

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

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

                --proc-count:显示正在运行的程序数量;