介绍Linux进程查看及管理的工具:pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup
 
  一.    pstree命令:
             pstree - display a tree of processes
 
  二.    ps: process state, report a snapshot of the current processes
     
            Linux系统各进程的相关信息均保存在/proc/PID目录下的各文件中,每一个PID都是一个进程号,PID中的cmdline文件说明了这个进程是由哪个文件启动的;
 
            ps [OPTION]... 选项:支持两种风格
               
               1)  BSD风格,前面没-  ,
                    常用组合:aux
                    u: 以用户为中心组织进程状态信息显示
                    a: 与终端相关的进程;
                    x: 与终端无关的进程;
 
                     ~]# ps aux
                    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
                        VSZ: Virtual memory SiZe,能使用的虚拟内存大小
                        RSS: ReSident Size, 常驻内存大小,不能放在交换分区中的
                        STAT:进程状态
                            R:running
                            S: interruptable sleeping
                            D: uninterruptable sleeping
                            T: stopped
                            Z: zombie
                            +: 前台进程
                            l: 多线程进程
                            N:低优先级进程
                            <: 高优先级进程
                            s: session leader,会话创建者,这个启动后,会引起很多其他进程,如果它被终止,与它相关的进程也会终止
                       COMMAND: 由什么命令启动的进程
 
               2) 标准风格:
                    常用组合1:-ef (PPID是父进程号)
                    -e: 显示所有进程
                    -f: 显示完整格式程序信息
                    -U: 显示指定用户进程 ps -U root
                    -o: 自定义显示输出
 
                   常用组合2:-eFH
                    -F: 显示完整格式的进程信息
                    -H: 以进程层级格式显示进程相关信息
 
                   常用组合3:-eo, axo,指明要显示的字段
                    例如:  ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
                                 ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
 
                                 ni: nice值
                                 pri: priority,优先级
                                 psr: processor, CPU
                                 rtprio: 实时优先级
 
 三.       pgrep, pkill:
                   pgrep [options] pattern------进程显示过滤,用法和pkill一样,比如pgrep -u root -l
 
                   pkill [options] pattern
                       -u uid: effective user,真实有效的用户
                       -U uid: real user,看到的用户
                       -t terminal: 与指定终端相关的进程
                       -l: 显示进程名
                       -a: 显示完整格式的进程名
                       -P pid: 显示其父进程为此处指定的进程的进程列表
 
  四.      pidof:
               根据进程名获取其PID;
 
  五.      top:               
              1)有许多内置命令(就是进入top显示界面后直接按命令键):
                     排序:默认以CPU排序
                       P:以占据的CPU百分比;
                       M:占据内存百分比;
                       T:累积占据CPU时长;
 
                     首部信息显示:
                       uptime信息:l命令
                       tasks及cpu信息:t命令, cpu分别显示:1 (数字)  
                       memory信息:m命令,其中us:用户空间,sy:内核空间,ni:nice值,id:空闲时间,wa:等待I/O时间,hi:硬件中断时间,si:软件中断时间,st:被虚拟技术偷走的时间
 
                     退出命令:q
                     修改刷新时间间隔:s
                     终止指定进程:k
 
               2)参数选项:
                   -d #: 指定刷新时间间隔,默认为3秒;
                   -b: 以批次方式;自动翻页
                   -n #: 显示多少批次;比如 top -b -n 1--只显示第一屏
 
六.        htop命令:
               选项:
                   -d #: 指定刷新时间间隔;
                   -u UserName: 仅显示指定用户的进程;
                   -s COLOMN: 以指定字段进行排序;
 
              内建命令:
                   s: 跟踪选定进程的系统调用;(上下键选进程)
                   l: 显示选定进程打开的文件列表;
                   a:将选定的进程绑定至某指定CPU,比如有多个CPU时,要把进程运行在哪个CPU上
                   t: 显示进程树
 
               注意:Fedora-EPEL源中提供此软件,比如在镜像源中指定base=mirrors.aliyun.com/epel/7/x86_64/
 
七     vmstat命令:虚拟内存状态工具---经典
        vmstat [options] [delay [count]]    ,比如 vmstat 2,表示2秒刷新一次,vmstat 2 5,显示5次退出
 
            1)procs相关:
                r:等待运行的进程的个数,单个CPU时,超过3个就说明CPU性能不够了;
                b:处于不可中断睡眠态的进程个数;(被阻塞的队列的长度);
 
            2) memory:
                swpd: 交换内存的使用总量;
                free:空闲物理内存总量;
                buffer:用于buffer的内存总量;
                cache:用于cache的内存总量;
 
            3)swap:
                si:数据进入swap中的数据速率(kb/s)
                so:数据离开swap中的数据速率(kb/s),重新载入内存
 
            4)io:
                bi:从块设备(磁盘)读入数据到系统(内存)的速率;(kb/s)
                bo: 保存数据至块设备的速率;
 
            5)system:
                in: interrupts, 中断速率;
                cs: context switch, 进程切换速率;
 
            6)cpu:
                us--用户空间占据CPU的比例
                sy--内核空间
                id--空闲比例
                wa--等待I/0完成所消耗的时间比例
                st--被虚拟化技术偷走的比例
 
        选项:
            -s: 显示内存的统计数据
 
 
八.     pmap命令:
          pmap - report memory map of a process,查看进程都占用了哪些内存空间
            pmap [options] pid [...]
                -x: 显示详细格式的信息;
 
            另外一种实现方式:
                # cat /proc/PID/maps
 
 
九.     dstat命令:-系统资源统计数据,支持插件来扩展功能,比较好用
          dstat [-afv] [options..] [delay [count]]
            -c: 显示cpu相关信息;
                -C #,#,...,total ---显示哪一个CPU信息
            -d: 显示disk读写相关信息;
                -D total,sda,sdb,...单独显示某个disk,或全部disk
            -g:显示page相关统计数据;
            -m: 显示memory相关统计数据;
            -n: 显示network相关统计数据;
            -p: 显示process相关统计数据;
            -r: 显示io请求相关的统计数据;
            -s: 显示swapped相关的统计数据;
            --tcp
            --udp
            --unix
            --raw
            --socket---相当于参数tcp,udp,raw一起用
            --ipc ----进程间通讯的相关信息
            --top-cpu:显示最占用CPU的进程;
            --top-io: 显示最占用io的进程;
            --top-mem: 显示最占用内存的进程;
            --top-latency: 显示延迟最大的进程,运行起来最慢,跟不上CPU;
 
十.   kill命令:
        向进程发送控制信号,以实现对进程管理,不单是杀死进程
 
        显示当前系统可用信号:
            # kill -l  列出kill支持能发出的信号
            # 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,就是把前面的SIG去掉就行
 
           向进程发信号:
            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值的范围是(-20,19)
 
          nice命令:启动进程时,以指定优先级运行
            nice [OPTION] [COMMAND [ARG]...],例如:nice -n 5 htop
 
          renice命令:对已处于运行态的进程,调整优先级
            renice [-n] priority pid...,例如: renice -n 2 3618
 
          查看:
            ps axo pid,comm,ni
 
 

linux进程查看及管理的工具的更多相关文章

  1. Linux - 进程查看与管理

    标签(空格分隔): Linux 进程的静态查看 查看系统所有进程 ps -ef -- 输出来好乱,看不懂..: ps aux -- a表示所有与终端相关的进程,u表示所有以用户组织的进程状态的信息,x ...

  2. linux:查看以及管理进程

    学习笔记内容概要 进程查看的命令:top,ps,pstree 进程管理的命令:kill,nice,renice 查看进程: 一.top工具 top 工具是我们常用的一个查看工具,能实时的查看我们系统的 ...

  3. 关于Linux下进程的详解【进程查看与管理】

    一.关于进程 进程: 已经启动的可执行程序的运行实力 进程的组成:一个进程包含内核中的一部分地址空间和一系列数据结构.其中地址空间是内核标记的一部分内存以供进程使用,而数据结构则用来纪录每个进程的具体 ...

  4. Linux进程虚拟地址空间管理2

    2017-04-12 前篇文章对Linux进程地址空间的布局以及各个部分的功能做了简要介绍,本文主要对各个部分的具体使用做下简要分析,主要涉及三个方面:1.MMAP文件的映射过程 2.用户 内存的动态 ...

  5. linux中的调试知识---基础gdb和strace查看系统调用信息,top性能分析,ps进程查看,内存分析工具

    1 调试一般分为两种,可以通过在程序中插入打印语句.有点能够显示程序的动态过程,比较容易的检查出源程序中的有关信息.缺点就是效率比较低了,而且需要输入大量无关的数据. 2 借助相关的调试工具. 3 有 ...

  6. ps -ef | grep Linux进程查看命令

    我们常常会想查看Linux的一些进程,很自然地用到了: ps -ef | grep xxx ps: process show 展示进程 参数:1. e 显示所有程序. 2. f  显示UID,PPIP ...

  7. Linux进程管理及while循环

    目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...

  8. Linux进程管理之top

    关于Linux进程查看,前面讲解了ps命令,下面拉介绍另一个命令top ps:静态查看 top:动态查看 动态查看进程的状态 # top [root@wei ~]# top top - 18:38:4 ...

  9. circus 进程以及socket 管理工具&&docker运行

    circus 是由mozilla 团队开发基于python 以及zeromq 的进程以及socket 管理的工具,类似supervisord 但是比supervisord 更灵活方便 来自官方的使用比 ...

随机推荐

  1. Source命令及脚本的执行方式

    [Source命令及脚本的执行方式] source filename 与 sh filename 及./filename执行脚本的区别在那里呢? 1.当shell脚本具有可执行权限时,用sh file ...

  2. solr dismax与edismax的参数列表

    dismax q.alt qf (Query Fields) mm (Minimum 'Should' Match) pf (Phrase Fields) ps (Phrase Slop) qs (Q ...

  3. flume 配置说明

    Flume中的HDFS Sink应该是非常常用的,其中的配置参数也比较多,在这里记录备忘一下. channel type hdfs path 写入hdfs的路径,需要包含文件系统标识,比如:hdfs: ...

  4. Luogu 5170 【模板】类欧几里得算法

    原理不难但是写起来非常复杂的东西. 我觉得讲得非常好懂的博客.   传送门 我们设 $$f(a, b, c, n) = \sum_{i = 0}^{n}\left \lfloor \frac{ai + ...

  5. python设置格式模板

    # -*- coding: utf-8 -*- """ __mktime__ = '${DATE}' __author__ = '${USER}' __filename_ ...

  6. [Selenium]等待元素出现之后再消失,界面上的loading icon都属于这种类型,之前的方法总是卡死,换这种方法目前还好用的

    等待元素出现之后再消失,界面上的loading icon都属于这种类型,之前的方法总是卡死,换这种方法目前还好用的 /** * Check if the element present with cu ...

  7. 2018年3大UI设计趋势,你知道吗?

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 之前小编已经和大家讨论了2018年软件测试的五大趋势,现在让我们一起来看看移动UI设计在2018年会 ...

  8. 关于Android控件EditText的属性InputType的一些经验,java组合多个参数

    关于Android控件EditText的属性InputType的一些经验 2013-11-14 15:08:02|  分类: 默认分类|举报|字号 订阅       1.InputType属性在代码中 ...

  9. ScreenCapture-HDwik5.0整合教程

    示例下载:http://yunpan.cn/Q9qzFmf6sF57z 1.上传ScreenCapture文件夹 2.上传upload.php文件 2.1修改upload.php路径 3.修改Scre ...

  10. jmeter 调用jar包 本地加密

    1.因为加密接口是有我们自己加密方式,所有加密包由开发提供,获得加密包后方式jmeter目录/lib/ext文件夹中 2.选择引入加密包 3.添加BeanShell Sampler和Debug Sam ...