上节我们讨论过了ps命令,top以及htop工具,这节我们讨论其他几个工具的使用方式

1.vmstat命令:查看虚拟内存状态信息
vmstat [options] [delay [count]]  

linux进程管理工具二_ps  
    procs:进程
        r:等待运行的进程的个数;
        b:处于不可中断睡眠态的进程个数;(被阻塞的队列的长度,等待IO完成);
    memory:
        swpd: 交换内存的使用总量;
        free:空闲物理内存总量;
        buffer:用于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被虚拟化技术偷走的时间

        选项:
            -s: 显示内存的统计数据 

linux进程管理工具二_htop_02

2. pmap命令:显示内存与进程映射
pmap - report memory map of a process

    pmap [options] pid [...]
        -x: 显示详细格式的信息;
    另外一种实现:
        # cat /proc/PID/maps(pmap就是读取此文件)

linux进程管理工具二_ps_03

3.glances命令:

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

linux进程管理工具二_dstat_04

    内建命令:
              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 IPADDR(自己的地址)
                IPADDR: 指明监听于本机哪个地址

linux进程管理工具二_dstat_05

            客户端模式:
                glances -c IPADDR
                IPADDR:要连入的服务器端地址

linux进程管理工具二_vmstat_06

4.dstat命令:动态生成系统资源统计
    dstat [-afv] [options..] [delay [count]]

linux进程管理工具二_vmstat_07

        -c: 显示cpu相关信息;
        -C #,#,...,total   如:dstat -C 0,1,total
        -d: 显示disk读写速率相关信息;
        -D total,sda,sdb,...

linux进程管理工具二_进程_08


        -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-lantency: 显示延迟最大的进程;

linux进程管理工具二_vmstat_09

5.kill命令:向进程发送控制信号,以实现对进程管理,一般用于杀死进程

    显示当前系统可用信号:
        # kill -l
        # man 7 signal
    常用信号:
        1) SIGHUP: 无须关闭进程而让其重读配置文件;
        2) SIGINT: 中止正在运行的进程;相当于Ctrl+c;
        9) SIGKILL: 杀死正在运行的进程;
        15) SIGTERM:终止正在运行的进程;
        18) SIGCONT:手工激活停止态的进程
        19) SIGSTOP:
    指定信号的方法:
        (1) 信号的数字标识;1, 2, 9
        (2) 信号完整名称;SIGHUP
        (3) 信号的简写名称;HUP
    向进程发信号:
        kill [-SIGNAL] PID...

参看httpd服务正在运行:

linux进程管理工具二_ps_10

    终止“名称”之下的所有进程:
        killall [-SIGNAL] Program

发送信号后,httpd服务被终止:

linux进程管理工具二_vmstat_11

6.Linux的作业控制
    前台作业:通过终端启动,且启动后一直占据终端;
    后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端);
    如何让作业运行于后台?
        (1) 运行中的作业
            Ctrl+z
        (2) 尚未启动的作业
            # COMMAND &
此类作业虽然被送往后台运行,但其依然与终端相关;如果希望送往后台后,剥离与终端的关系:
# nohup COMMAND &

    查看所有作业:
        # jobs
    作业控制:
        # fg [[%]JOB_NUM]:把指定的后台作业调回前台;
        # bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行;
        # kill [%JOB_NUM]:终止指定的作业;

linux进程管理工具二_vmstat_12

7.进程优先级调整:
    静态优先级:100-139

        进程默认启动时的nice值为0,优先级为120;
    nice命令:用nice修改进程优先级,此进程必须事先不在运行中

    nice [OPTION] [COMMAND [ARG]...]

    nice指定启动进程时以什么优先级运行

linux进程管理工具二_vmstat_13

    renice命令:对已经在运行状态中的进程nice值进行调整
        renice [-n] priority pid...

        renice -n 2  3386(pid)

    查看:
        ps axo pid,comm,ni