• ps top等命令详解


    1,ps命令

    ps命令是一个很强大的命令了,显示查询瞬间进程的状态,参数众多,仅列几个常用的和具体参数的含义。

    1)基本使用

    ps -aux
    #显示详细的进程信息,进程所有者不限于当前用户

    查询到的进程有关参数的含义:

    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    USER: 进程所有者
    PID: 进程ID
    %CPU: 占用的 CPU 使用率
    %MEM: 占用的内存使用率
    VSZ: 占用的虚拟内存大小
    RSS: 占用的内存大小
    TTY: 终端的次要装置号码 (minor device number of tty)
    STAT: 进程状态:
    
     D 无法中断的休眠状态(通常 IO 的进程); 
     R 正在运行,在可中断队列中; 
     S 处于休眠状态,静止状态; 
     T 停止或被追踪,暂停执行; 
     W 进入内存交换(从内核2.6开始无效); 
     X 死掉的进程; 
     Z 僵尸进程不存在但暂时无法消除;
     W: 没有足够的记忆体分页可分配
     WCHAN 正在等待的进程资源;
     <: 高优先级进程
     N: 低优先序进程
     L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O),即,有些页被锁进内存
     s 进程的领导者(在它之下有子进程); 
     l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads); 
     + 位于后台的进程组;
    START: 启动进程的时间; 
    TIME: 进程消耗CPU的时间;
    COMMAND:命令的名称和参数;

    2)排序使用

    ps -aux --sort=-vsz
    #ps命令自带排序功能,本命令指的是按照vsz的大小降序排列

    可排序的项目有:

    c cmd   可执行地简单名称 
    C cmdline   完整命令行 
    f flags   长模式标志 
    g pgrp   进程地组ID 
    G tpgid   控制tty进程组ID 
    j cutime   累计用户时间 
    J cstime   累计系统时间 
    k utime   用户时间 
    K stime   系统时间 
    m min_flt   次要页错误地数量 
    M maj_flt   重点页错误地数量 
    n cmin_flt 累计次要页错误 
    N cmaj_flt 累计重点页错误 
    o session   对话ID 
    p pid   进程ID 
    P ppid   父进程ID 
    r rss   驻留大小 
    R resident 驻留页 
    s size   内存大小(千字节) 
    S share   共享页地数量 
    t tty   tty次要设备号 
    T start_time 进程启动地时间 
    U uid   UID
    u user   用户名
    v vsize   总地虚拟内存数量(字节) 
    y priority 内核调度优先级

    3)用标准格式显示进程的详细信息(aux命令用的不是标准格式,是BSD格式)

    ps -ef

    显示参数含义:

    UID    PID  PPID  C STIME TTY      TIME CMD
    UID    //用户ID、但输出的是用户名 
    PID    //进程的ID 
    PPID    //父进程ID 
    C      //进程占用CPU的百分比 
    STIME  //进程启动到现在的时间 
    TTY    //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 
    CMD    //命令的名称和参数

    4)查看父进程的子进程

    pstree -p 1234
    #1234指的是pid,能拿到子线程的线程数
    top -H -p 1234
    #-H按照线程查看 -p指定父进程的pid
    cat /proc/1234/status
    #查看某个进程的具体信息,数据比较繁杂

    5)根据ps打印出来的系统内容排序查看

    查看cpu占用率前5的几个进程

    ps -aux | sort -k3,3nr | head -5
    
    #sort中-t是指定的分隔符,默认空格,-k是指定分隔符后的字段顺序,-n按照字符串的数值顺序比较,-r reverse , -u uniq

    查看内存前5的几个进程

    ps -aux | sort -k4,4nr | head -5

    2,top命令

      top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu、内存的使用)占用状况,top命令的执行结果是一个动态显示过程。

    用户可以输入的参数如下:

    d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
    p 通过指定监控进程ID来仅仅监控某个进程的状态。
    q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
    S 指定累计模式。
    s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
    i 使top不显示任何闲置或者僵死进程。
    c 显示整个命令行而不只是显示命令名。
    -n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。
    -p :指定某些个 PID 来进行观察监测而已。

    得到的参数含义:

    列名    含义
    PID    进程id
    PPID    父进程id
    RUSER    Realusername
    UID    进程所有者的用户id
    USER    进程所有者的用户名
    GROUP    进程所有者的组名
    TTY    启动进程的终端名。不是从终端启动的进程则显示为?
    PR       优先级
    NInice     值。负值表示高优先级,正值表示低优先级
    P        最后使用的CPU,仅在多CPU环境下有意义
    %CPU    上次更新到现在的CPU时间占用百分比
    TIME    进程使用的CPU时间总计,单位秒
    TIME+    进程使用的CPU时间总计,单位1/100秒
    %MEM    进程使用的物理内存百分比
    VIRT    进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    SWAP    进程使用的虚拟内存中,被换出的大小,单位kb。
    RES    进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    CODE    可执行代码占用的物理内存大小,单位kb
    DATA    可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
    SHR    共享内存大小,单位kb
    nFLT    页面错误次数
    nDRT    最后一次写入到现在,被修改过的页面数。
    S    进程状态。
    D=    不可中断的睡眠状态
    R=    运行
    S=    睡眠
    T=    跟踪/停止
    Z=    僵尸进程
    COMMAND    命令名/命令行
    WCHAN    若该进程在睡眠,则显示睡眠中的系统函数名
  • 相关阅读:
    单利设计模式
    Jquery中的ajax应用(第九章PPT)
    求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字
    求出0~999之间的所有“水仙花数”并输出
    输出三角和倒三角
    编写程序数一下 1到 100 的所有整数中出现多少次数字9(对整数每一位的提取方法)
    计算1/1-1/2+1/3-1/4+1/5 …… + 1/99
    将数组A中的内容和数组B中的内容进行交换。(数组一样大)
    求两个数的最大公约数(列举法与辗转相除法)
    将三个数从大到小输出
  • 原文地址:https://www.cnblogs.com/0-lingdu/p/14334966.html
Copyright © 2020-2023  润新知