美文网首页
Linux进程监测相关指令

Linux进程监测相关指令

作者: 景山道人 | 来源:发表于2019-03-10 00:37 被阅读0次

    Linux

    reference: 《Linux命令行与Shell脚本编程大全》,本文内容绝大部分来自书内(命令啥的比起背果然还是自己敲一敲来的直观一些)

    监测程序

    1. 探查进程

      • ps
      • 默认情况下,ps只会显示运行在当前控制台下的,属于当前用户的进程
      • Linux中使用的GNU ps命令支持3种不同类型的命令行参数
      • Unix风格,前面加单破折线
      • BSD风格,前面不加破折线
      • GNU风格,前面加双破折线
      • 这里拿Unix风格列出来作为例子
      参数 描述
      -A 显示所有进程
      -N 显示与指定参数不符的所有进程
      -a 显示所有除控制进程(session leader)和无终端进程外的所有进程
      -d 显示除控制进程外的所有进程
      -e 显示所有进程
      -C cmdlist 显示包含在cmdlist列表中的进程
      -G grplist 显示组ID在grplist列表中的进程
      -U userlist 显示属主的用户ID在userlist列表中的进程
      -g grplist 显示会话或组ID在grplist列表中的进程
      -p pidlist 显示PID在pidlist列表中的进程
      -s sesslist 显示会话ID在sesslist列表中的进程
      -t ttylist 显示终端ID在ttylist列表中的进程
      -u userlist 显示有效用户ID在userlist列表中的进程
      -F 显示更多额外输出(相对-f)
      -O format 显示默认的输出列以及format列表指定的特定列
      -M 显示进程的安全信息
      -c 显示进程的额外调度器信息
      -f 显示完整格式的输出
      -j 显示任务信息
      -l 显示长列表
      -o format 仅显示由format指定的列
      -y 不要显示进程标记(显示进程状态的标记)
      -Z 显示安全标签信息
      -H 用层级格式来显示进程
      -n namelist 定义了WCHAN列显示的值
      -w 采用宽输出模式,不限宽度显示
      -L 显示进程中的线程
      -V 显示ps命令的版本号

      (说实在的指令太多,最后也用不上几个,况且这只是UNIX风格的而已,这种还是适合自己用时查,绝对比记列表靠谱多了)

      • 一些例子:

        • ps -a 输出的只有TTY(终端设备)参数有值的所有进程,且不包含控制进程
        • ps -A 则为所有
        • ps -la 相比-a会多出许多其他属性供查看
        • ps -L 会多出LWP参数,表示线程
        • 很多指令后面都是可以直接加上进程号的,不输入的情况下只会把此操作的进程号展示出来
      • 一些在输出中可能出现的属性:

        • UID:启动这些进程的用户
        • PID:进程的进程ID
        • PPID:父进程的进程号
        • C:进程生命周期中的CPU利用率
        • STIME:进程启动时的系统时间
        • TTY:进程启动时的终端设备
        • TIME:运行进程需要带累计CPU时间
        • CMD:启动的程序名称
        • F:内核分配给进程的系统标记
        • S:进程的状态
          • O代表正在运行(Operating)
          • S代表在休眠(Sleep)
          • R代表可运行,等待运行(Runnable)
          • Z代表僵化,进程已结束但父进程已不存在(Zombie 僵尸进程)
          • T代表停止(Terminated)
        • PRI:进程的优先级(数字越大优先级越低)
        • NI:谦让度值用来参与决定优先级
        • ADDR:进程的内存地址
        • SZ:假如进程被换出,所需交换空间的大致大小
        • WCHAN:进程休眠的内核函数地址
    2. 实时监测进程

      • top能够实时显示进程信息
        • f 可以选择对输出进行排序的字段
          • 进入后能够上下选择字段用来排序,s表示确定
          • d控制此字段是否显示
          • q退出并让设置生效
        • d 修改轮询间隔(刷新频率)
        • q 退出
      • 一些字段属性
        • PID,USER,PR,NI,S和上面一样
        • VIRT 占用虚拟内存
        • RES 占用物理内存
        • SHR 和其他进程共享的内存
        • %CPU 进程使用的CPU时间比例
        • %MEM 使用的内存占可用内存的比例
        • TIME+ 启动开始所占时间总量
        • COMMAND 对应命令行名称,即启动的程序名
    3. 结束进程

      • kill PID,需要是进程属主或者root用户
      • killall name 可以通过进程名来结束进程,且在其中可以设置通配符(root用户使用时要小心)
        • 比如killall http* 结束以http开头的所有进程

    相关文章

      网友评论

          本文标题:Linux进程监测相关指令

          本文链接:https://www.haomeiwen.com/subject/cbpypqtx.html