12-linux进程管理工具2

前期基础知识准备,包括linux基础知识中的关于虚拟化的一些概念
    CPU:通过timeslice
    memory:通过线性地址
    IO:通过分时复用

了解一些进程查看工具,包括:pstree,ps,pgrep,pidof,top,htop
    htop命令(相对比较好用,这里特别再提一下):
        选项:
            -d #:指定延迟时间
            -u username:仅显示指定用户的进程
            -s colomn:以指定字段进行排序
        命令:
            s:跟踪选定进程的系统调用
            l:显示选定进程打开的文件列表
            a:将选定的进程绑定至某指定CPU核心
            t:显示进程树
        注意:需要使用fedora-epel源

这里对linux进程查看及管理工具的相关知识进行梳理的第二部分。

vmstat命令(比较早的一种工具,)
    vmstat [options] [delay [count]]
        procs:
            r:等待运行的进程的个数
            b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
        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 被偷走的时间比例

        选项
        vmstat -s 与cat /proc/meminfo的作用相似
            -s: 显示内存的统计数据
        pmap - report memory map of a process
            内存映射表:显示从线性地址到物理地址的映射
            pmap [options] pid [...]
                -x:显示详细格式的信息
            另一种实现
                cat /proc/PID/maps

    glances命令:
        glances [-bdehmnrsvyz] [-B bind] [-c server] [-C conffile] [-p port] [-P 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
            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 #:延迟时间间隔
            -l:每个cpu的相关数据单独显示

        c/s模式下运行glances命令
            服务模式:
                glances -s -B IPADDR
                IPADDR:指明监听于本机哪个地址
            客户端模式:
                glances -c IPADDR
                IPADDR:要连入的服务器端地址

    dstat命令
        dstat [-afv] [options...] [delay [count]]
            -c:显示cpu相关信息
                -C #,#,...,total
            -d:显示disk相关信息
                -D total,sda,sdb,...
            -g:显示page相关统计数据
            -m:显示memory相关统计数据
            -n:显示network相关统计数据
            -p:显示process相关统计数据
            -r:显示io请求相关的统计数据
            -s:显示swapped相关的统计数据

            --tcp
            --upd
            --unix
            --raw
            --socket

            --ipc 进程间通信的统计数据

            --top-cpu:显示最占用cpu的进程
            --top-io:显示最占用io的进程
            --top-mem:显示最占用内存的进程
            --top-lantency:显示延迟最大的进程

    kill命令:
        向进程发送控制信号,以实现对进程管理
        显示当前系统可用信号
            kill -l列出支持发送的信号
            man 7 signal

            常用信号:
                1)sighup:无须关闭进程而让其重读配置文件
                2)sigini:中止正在运行的进程,相当于ctrl+c
                9)sigkill:杀死正在运行的进程
                15)sigterm:终止正在运行的进程
                18)sigcont:
                19)sigstop:

            指定信号的方法:
                (1)信号的数字标识:1,2,9
                (2)信号完整名称:sighup
                (3)信号的简写名称:hup

        向进程发信号:
            kill [-SIGNAL] PID...

        终止名称之下的所有进程
            killall [-SIGNAL] program

    linux的作业控制
    作业和进程不是一一对应的
    前台作业:通过终端启动,且启动后一直占据终端
    后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端)
    
    如何让走也运行于后台
        (1)运行中的作业
            ctrl+z
        (2)尚未启动的作业
            COMMAND &
        此类作业虽被送往后台运行,但其依然与终端相关。如果希望送往后台后,剥离与终端的关系
            nohup COMMAND &
        查看所有作业
            jobs:
        作业控制
            fg [[%]JOB_NUM]:把指定的后台作业调回前台
            bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行
            kill [%JOB_NUM]:终止指定的作业

进程优先级调整:
    静态优先级:100-139
    进程默认启动的nice值为0,优先级为120
    nice命令
        nice [OPTIONS] [COMMAND [ARG]...]
        nice,renice
    renice命令
        renice [-n] priority pid...
    查看
        ps,axo,pid,comn,ni

未涉及到的命令:sar,tsar,iostat,iftop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值