• Linux监控


    一、常用命令介绍

      1.ps

        ps命令主要可以做以下三种事情:

        1)让系统报告详细的信息

          在使用ps命令时,如果不采用任何的可选项,则其显示的信息是非常有限的,而且往往只显示当前用户所运行的程序。如下图:

          

          当系统管理员需要知道应用程序更加详细的运行信息时,如想要知道这个应用程序内存、CPU的占用率情况时,就需要加入一些可选项。如系统管理员需要查看其它用户所执行的应用程序时,就需要在这个命令后面采用可选项-al,如此的话,系统会列出系统中所有用户运行的所有程序。如下图:

          

          如果想知道某个程序CPU与内存的使用情况,而不是简单的显示其CPU的使用时间,那么就需要在这个命令后面加入参数-l,即ps -l命令可以让系统显示出应用程序的详细运行信息。如下图:

          

          F  代表中国程序的旗标(flag),4代表使用者为super user;

          S  代表中国程序的状态(STAT);

          PID  就是这个程序的ID,后面的PPID则是父程序的ID;

          C  CPU使用的资源百分比;

          PRI  Priority(优先执行序)的缩写;

          NI  Nice值;

          ADDR  kernel function,指出该程序在内存的哪个部分。如果是running的程序,则显示“-”;

          SZ  使用掉的内存大小;

          WCHAN 目前这个程序是否正在运行当中,“-”表示正在运作;

          TTY  登入这的终端机位置;

          TIME  使用掉的CPU时间;

          CMD  所下达的指令内容。

          一般来说,系统管理员关心的只是程序的PID、内存与CPU的使用率、命令的名字、用户采用的终端等等,其他的信息对于系统管理员来说价值不是很大。

        2)查看后台运行的程序

          默认情况下,ps命令只显示前台运行的程序,而不会显示后台运行的程序。但是并非所有 程序都是在前台运行。正常情况下,隐藏在后台运行的程序数量要比前台运行的程序多的多。如随着系统启动而启动的系统自带程序,其运行的方式就是后台运行的。而且有时候,系统出现问题往往是由于后台程序所造成的。如常见的木马等程序都是在后台所运行的。所以系统管理员相对来说,更加想要知道在后台运行着哪些程序。

          在不同版本的Linux操作系统中,要显示后台进程采用的可选项是不同的。采用ps aux命令可以显示出所有的应用程序(包括前台和后台的)。参数与可选项的差异主要是在前面有没有这个“-”符号。如果带有这个符号的就表示这是一个可选项。如果不带的,就表示这是一个参数。如果不知道要显示全部进程该使用哪个可选项时,可以利用ps --help来查看系统帮助。

        3)对程序列表进行排序

          可以使用--sort参数进行排序。如ps-A --sort cmd,标识显示系统所有的应用程序,并根据程序命令来进行排序。在Linux操作系统参数中,参数大小写不同往往代表着不同的含义。如上面这个命令,大写字母A表示所有的应用程序,而小写字母a则表示“all w/ tty except session leaders”。意思是用来过滤不同终端登录账户所运行的应用程序。

          [root@linux ~]# ps aux 

          

          USER  改进程属于哪个使用者账号的;

          PID  进程号;

          %CPU  进程使用掉的CPU资源百分比;

          %MEN  进程所占用的物理内存百分比;

          VSZ  进程使用掉的虚拟内存量(Kbytes)

          RRS  进程占用的固定的内存量(Kbytes)

          TTY  该进程是在哪个终端机上面运作,若与终端机无关,则显示?,tty1-6是本机上面的登入者程序,若为pts/0等的则表示是由网络连接进主机的程序。

          STAT  该程序目前的状态:

            R  正在运作或者是可被运作的;

            S  该程序正在睡眠当中(可说是idle状态),但可被某些讯号(signal)唤醒;

            T  该程序目前正在侦测或者是停止了;

            Z  该程序应该已经终止,但是其父程序却无法正常的终止他,造成zombie(僵尸)程序的状态;

            I  空闲Idle;

              D  不可中断Uninterruptible sleep(usually IO)收到信号不唤醒和不可运行,进程必须等待直到有中断发生;

            T  终止Terminate进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止运行;

            P  等待交换页

            W  无驻留页 has no resident pages 没有足够的记忆体分页可分配

            X  死掉的进程

            <  高优先级进程,高优先序的进程

            N  低优先级进程,低优先序的进程

            L  内存锁页Lock,有记忆体分页分配并缩在记忆体内

            s  进程的领导者(在它之下有子进程)

            I  多进程的(使用CLONE_THREAD,类似NPTL pthreads)

            +  位于后台的进程组

          [root@linux ~]# ps -lA

          

          [root@linux ~]# ps axjf 

          

          选项/参数:      

    -w 显示加宽可以显示较多的资讯
    -au 显示较详细的资讯
    -aux 显示所有包含其他使用者的行程
    -A 显示所有进程(等价于-e)(utility)
    -a 显示一个终端的所有进程,除了会话引线
    -N 忽略选择。
    -d 显示所有进程,但省略所有的会话引线(utility)
    -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
    -p pid 进程使用cpu的时间
    -u uid or username 选择有效的用户id或者是用户名
    -g gid or groupname 显示组的所有进程。
    U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
    -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
    -l 长格式(有F,wchan,C 等字段)
    -j 作业格式
    -o 用户自定义格式。
    v 以虚拟存储器格式显示
    s 以信号格式显示
    -m 显示所有的线程
    -H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
    e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
    h 不显示第一行

    l 长格式输出;
    u 按用户名和启动时间的顺序来显示进程;
    j 用任务格式来显示进程;
    f 用树形格式来显示进程;
    a 显示所有用户的所有进程(包括其它用户);
    x 显示无控制终端的进程;
    r 显示运行中的进程;
    ww 避免详细参数被截断

    ps命令常用用法(方便查看系统进程)

    1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
    2)ps -A 显示所有进程。
    3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
    4)ps -e 此参数的效果和指定"A"参数相同。
    5)ps e 列出程序时,显示每个程序所使用的环境变量。
    6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
    7)ps -H 显示树状结构,表示程序间的相互关系。
    8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
    9)ps s 采用程序信号的格式显示程序状况。
    10)ps S 列出程序时,包括已中断的子程序资料。
    11)ps -t<终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。
    12)ps u 以用户为主的格式来显示程序状况。
    13)ps x 显示所有程序,不以终端机来区分。
    14)最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

  • 相关阅读:
    接口隔离原则
    单一职责原则
    设计模式
    typora的快捷键构建
    typora的使用
    MapReuduce的一些情况
    Django之创建超级用户
    Tensorflow在python3.7版本的运行
    开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上,要求输出结果必须按ABC的顺序显示:ABCABC
    VM10 win7 虚拟机+VS各种版本的快照...
  • 原文地址:https://www.cnblogs.com/susanhonly/p/7698258.html
Copyright © 2020-2023  润新知