linux进程管理工具二

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

1.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被虚拟化技术偷走的时间

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

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

pmap [options] pid [...]
        -x: 显示详细格式的信息;
    另外一种实现:
        # cat /proc/PID/maps

3.glances命令:

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 IPADDR
                IPADDR: 指明监听于本机哪个地址

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

4.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
        --udp
        --unix
        --raw
        --socket
        --ipc
        --top-cpu:显示最占用CPU的进程;
        --top-io: 显示最占用io的进程;
        --top-mem: 显示最占用内存的进程;
        --top-lantency: 显示延迟最大的进程;

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服务正在运行:

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

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

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

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

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

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

renice命令:
        renice [-n] priority pid...

renice -n 2  3386(pid)

查看:
        ps axo pid,comm,ni

时间: 2024-11-05 19:33:31

linux进程管理工具二的相关文章

Linux自学笔记——linux进程及作业管理

内核的功用主要有进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能这几个方面,本文主要讨论linux进程及作业管理. 进程管理: 进程,process,运行中程序的一个副本,且存在生命周期: 进程分为CPU bound和I/Obound. CPU bound:CPU密集型(类似于高清视频) I/O bound:IO密集型(编辑器等频繁IO操作) Linux内核存储进程信息的固定格式为:task struct(结构体) 多个任务的task struct组件的链表:task list 进程创

Linux进程的睡眠和唤醒

1   Linux进程的睡眠和唤醒 在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状态标志位为TASK_RUNNING.一旦一个运行中的进程时间片用完, Linux内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中选择一个合适的进程投入运行. 当然,一个进程也可以主动释放CPU的控制权.函数schedule()是一个调度函数,它可以被一个进程主动调用,从而调度其它进程占用CPU.一旦这个主动放弃CPU的进程被重新调度占用CPU,那么它将从

Linux进程管理与调度-之-目录导航【转】

转自:http://blog.csdn.net/gatieme/article/details/51456569 版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme 目录(?)[-] 项目链接 进程的描述 进程的创建 进程的加载与运行 进程的退出 进程的调度 调度普通进程-完全公平调度器CFS 日期 内核版本 架构 作者 GitHub CSDN 2016-07-21 Linux-4.6 X86 & arm gatieme

Linux进程管理简谈

Linux系统进程管理简谈 进程是什么? 简单来说进程是一个正在执行的程序的一个副本,存在生命周期,有段指令和代码在不断运行. linux内核存储信息的固定格式:task struct 进程的相关信息存储在链表中 多个任务的task struct组件的链表:task list 进程的创建:父进程创建子进程(内核创建init进程,剩余一切进程有init及其子进程进程创建) 父进程创建子进程时向内核调用fork()来创建子进程并且通过调用clone()复制父进程的信息给子进程 Linux进程的优先级

Linux进程的实际用户ID和有效用户ID

在Unix进程中涉及多个用户ID和用户组ID,包括如下: 1.实际用户ID和实际用户组ID:标识我是谁.也就是登录用户的uid和gid,比如我的Linux以simon登录,在Linux运行的所有的命令的实际用户ID都是simon的uid,实际用户组ID都是simon的gid(可以用id命令查看). 2.有效用户ID和有效用户组ID:进程用来决定我们对资源的访问权限.一般情况下,有效用户ID等于实际用户ID,有效用户组ID等于实际用户组ID.当设置-用户-ID(SUID)位设置,则有效用户ID等于

Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)【转】

转自:http://blog.csdn.net/gatieme/article/details/51872659 版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme 目录(?)[-] 前景回顾 1 Linux的调度器组成 2 调度工作 进程上下文 1 进程上下文的概念 2 上下文切换 context_switch进程上下文切换 1 context_switch完全注释 2 prepare_arch_switch切换前的准备工作

Linux进程环境

1.进程是什么 正在运行的程序,就是进程,进程是动态的,程序是静态的:进程在执行过程中具有状态的变化. 进程具有三个不同的状态 : 运行.就绪.阻塞; 三模型分析 : 查看进程的命令ps -ef 和 top,   kill PID(杀死进程) 运行态:进程获得CPU资源,能够使用CPU计算机程序中的指令,当CPU的使用时间用完时,则进入就绪状态. 就绪态:其它资源已经就绪,只差CPU资源. 阻塞态:处理CPU之外的其它资源还未就绪. 进程的调度:进程启动时处于就绪状态,为了调度进程对CPU的使用

Linux进程及作业管理

一.进程查看及其管理工具 --------------------------------------------- ps命令:报告当前进程的快照信息 ps - report a snapshot of the current processes. 选项: -A:显示所有进程与-e相同的效果 -a:不与终端相关的所有进程 -u:与用户相关的进程 -x:通常和a,u结合使用,显示出来比较全面的信息 -f:做一个更为完整的输出 常用的组合:     ps -ef 以完整的信息显示所有进程信息   

Htop – Linux进程监控工具

Htop 是一个非常高级的交互式的实时linux进程监控工具. 它和top命令十分相似,但是它具有更丰富的特性,例如用户可以友好地管理进程,快捷键,垂直和水平方式显示进程等等. Htop是一个第三方工具,它不包含在linux系统中,你需要使用YUM包管理工具去安装它. 一,以rpm包方式安装htop 1,配置yum源 -------------- For RHEL/CentOS 7 -------------- # wget http://pkgs.repoforge.org/rpmforge-