进程管理工具

进程管理:

     pstree 作用是以进程树的形式显示进程
     例如:
           pstree 8123 显示进程名不显示各个进程号
           pstree -p 8123 显示进程名称及各级进程的进程号

     ps 作用是显示当前所有运行进程的详细信息
     例如:
            ps aux  显示所有包含其他使用者的行程
            ps -aux

      选项:

              a :显示包括所有终端中的进程
              x :选项包括不链接终端的进程
              u :选项显示进程所有者的信息
              f :选项显示进程树,相当于--forest
              k|--sort:对属性排序,属性前面加-表示倒序
              o :属性..选项显示定制的信息pid、cmd、%cup、%mem
              L :显示支持的属性列表

               、、、、、

         输出属性介绍:

              VSZ:虚拟内存集,线性内存

              RSS:常驻内存集

              STAT:进程状态

                          R:running
                          S: interruptable sleeping
                          D: uninterruptable sleeping
                          T: stopped
                          Z: zombie
                          +: 前台进程
                          l: 多线程进程
                          L:内存分页并带锁
                          N:低优先级进程
                          <: 高优先级进程
                          s: session leader,会话(子进程)发起者

                          ni: nice值
                          pri: priority 优先级
                          psr: processor CPU编号
                          rtprio: 实时优先级

                实例:

                          (1)查询自己拥有的所有进程

                                    ps -x

                          (2)显示指定用户名或者用户ID的进程

                                   ps -fU apache

                                   ps -fU  48

                           (3)显示指定服务名,正在被那个终端使用

                                   ps -C  bash

                           (4)查看进程的PID,PPID,用户名和命令

                                   ps -eo pid,ppid,user,cmd

                           (5)查找占用最多内存和CPU的进程

                                  ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head 

                                  ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

 

         uptme显示当前时间,系统已启动的时间、当前上线人数、系统平均负载(1、5、10 分钟的平均负载,一般不会超过1)

         top命令:
                   P:以占据的CPU百分比,%CPU
                   M:占据内存百分比,%MEM
                   T:累积占据CPU时长,TIME+
              首部信息显示:
                    uptime信息:l命令
                    tasks及cpu信息:t命令
                    cpu分别显示:1 (数字)
                    memory信息:m命令
               退出命令:q
               修改刷新时间间隔:s
               终止指定进程:k
               保存文件:W

             %CPU:us:用户空间
                            sy:内核空间
                            ni:调整nice时间
                            id:空闲
                            wa:等待IO时间
                            hi:硬中断
                            si:软中断
                            st:虚拟机偷走的时间

             列属性解释:
                     PID — 进程id
                     USER — 进程所有者
                     PR — 进程优先级
                     NI — nice值。负值表示高优先级,正值表示低优先级
                     VIRT — 进程使用的虚拟内存总量
                     RES — 进程使用的、未被换出的物理内存大小
                     SHR — 共享内存大小,单位kb
                     S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
                     %CPU — 上次更新到现在的CPU时间占用百分比
                     %MEM — 进程使用的物理内存百分比
                     TIME+ — 进程使用的CPU时间总计,单位1/100秒
                     COMMAND — 进程名称(命令名/命令行)

           free命令:查看内存使用情况

                 free -h   已读格式

          vmstat 命令:显示虚拟内存信息

                 vmstat 2  5   每2秒刷新一次,共5次

                 命令显示列解释:

                        procs列:
                                    r:可运行(正运行或等待运行)进程的个数,和核心数有关
                                    b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
                        memory:
                                    swpd: 交换内存的使用总量
                                    free:空闲物理内存总量
                                    buffer:用于buffer的内存总量
                                    cache:用于cache的内存总量
                        swap:
                                    si:从磁盘交换进内存的数据速率(kb/s)
                                    so:从内存交换至磁盘的数据速率(kb/s)
                        io列
                                    bi:表示由块设备读入数据的总量,即读磁盘,单位kb/s
                                    bo:表示写到块设备数据的总量,即写磁盘,单位kb/s
                        system:
                                    in: interrupts 中断速率,包括时钟
                                    cs: context switch 进程切换速率

            iostat命令:统计CPU和磁盘设备的IO信息 

                     iostat  1 5   每一秒更新一次、共5次

            iftop 命令:显示宽带使用情况,需要自主安装(epel源)

                    可通过此命令查看当前是否有人在通过网络攻击本主机

            pmap命令:进程对应的内存映射

                    pmap  1  :跟进程号加 -x 更加详细

            dstat 工具:监视CPU、内存、swap、磁盘使用率

            iotop命令:  用来监视磁盘I/O使用状况    (显示更加详细 相对于 iostat)

                      第一行:Read和Write速率总计

                      第二行:实际的Read和Write速率

                      第三行:线程ID(按p切换为进程ID)、 优先级、 用户、

                                    磁盘读速率 、磁盘写速率、 swap交换百分比 、

                                    IO等待所占的百分比、 线程/进程命令

            lsof命令:查看当前系统文件的工具

                       -a:列出打开文件存在的进程
                       -c<进程名>:列出指定进程所打开的文件
                       -g:列出GID号进程详情
                       -d<文件号>:列出占用该文件号的进程
                       +d<目录>:列出目录下被打开的文件
                       +D<目录>:递归列出目录下被打开的文件

                例:

                       lsof  -c  bash  列出指定程序正在使用的文件

                       lsof  /dev/pts1  查看登录用户启动而非系统启动的进程

                       lsof   -p  9999(pid) 查看指定进程号的进程打开的文件

                       lsof  -u   user   查看指定用户打开的文件

            kill命令:

                       常用信号:man 7  signal  或者  kill  -l

                                 1)SIGHUP  无须关闭进程而让其重读配置文件
                                 2)SIGINT  中止正在运行的进程;相当于Ctrl+c
                                 3)SIGQUIT 相当于Ctrl+\
                                 9) SIGKILL 强制杀死正在运行的进程
                                15)SIGTERM 终止正在运行的进程
                                18)SIGCONT 继续运行
                                19)SIGSTOP 后台休眠

                        kill  -s  SIGNAL  pid   发送指定信号到pid

            killall命令: 按服务名称发送信息

                        killall [-SIGNAL]  服务名 

             pkill命令:

                       -SIGNAL

                       -u uid: effective user,生效者

                       -U uid: real user,真正发起运行命令者

                       -t terminal: 与指定终端相关的进程

                       -l: 显示进程名(pgrep可用)

                       -a: 显示完整格式的进程名(pgrep可用)

你可能感兴趣的:(个人)