zoukankan      html  css  js  c++  java
  • Linux 查看进程资源--ps、top命令

    1,ps命令

           ps能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态

            命令参数:
             a                                      显示所有进程
            -a                                      显示同一终端下的所有程序
            -A                                     显示所有进程
             c                                      显示进程的真实名称
            -N                                     反向选择
            -e                                      等于“-A”
             e                                      显示环境变量
             f                                       显示程序间的关系
            -H                                     显示树状结构
             r                                       显示当前终端的进程
            T                                       显示当前终端的所有程序
            u                                       指定用户的所有进程
          -au                                      显示较详细的资讯
          -aux                                    显示所有包含其他使用者的行程 
        -C<命令>                             列出指定命令的状况
       --lines<行数>                         每页显示的行数
      --width<字符数>                     每页显示的字符数
       --help                                      显示帮助信息
       --version                                 显示版本显示


    常用实例:

            ps -u root                            查看root用户的进程

            ps -ef                                    显示所有进程信息,包括命令行

            ps  aux                                  列出目前所有的正在内存当中的程序

            ps -aux --sort -pcpu | less        根据CPU使用升序排序

            ps-aux --sort -pmem | less        根据内存使用大小排序

    [root@localhost ~]# ps aux

    USER      PID       %CPU    %MEM    VSZ    RSS    TTY    STAT    START    TIME    COMMAND
    smmsp    3521    0.0    0.7    6556    1616    ?    Ss    20:40    0:00    sendmail: Queue runner@01:00:00 f
    root    3532    0.0    0.2    2428    452    ?    Ss    20:40    0:00    gpm -m /dev/input/mice -t imps2
    htt    3563    0.0    0.0    2956    196    ?    Ss    20:41    0:00    /usr/sbin/htt -retryonerror 0
    htt    3564    0.0    1.7    29460    3704    ?    Sl    20:41    0:00    htt_server -nodaemon
    root    3574    0.0    0.4    5236    992    ?    Ss    20:41    0:00    crond
    xfs    3617    0.0    1.3    13572    2804    ?    Ss    20:41    0:00    xfs -droppriv -daemon
    root    3627    0.0    0.2    3448    552    ?    SNs    20:41    0:00    anacron -s
    root    3636    0.0    0.1    2304    420    ?    Ss    20:41    0:00    /usr/sbin/atd
    dbus    3655    0.0    0.5    13840    1084    ?    Ssl    20:41    0:00    dbus-daemon-1 --system

    ps aux显示项解析:

    USER    用户名
    UID    用户ID(User ID)
    PID    进程ID(Process ID)
    PPID    父进程的进程ID(Parent Process id)
    SID    会话ID(Session id)
    %CPU    进程的cpu占用率
    %MEM    进程的内存占用率
    VSZ    进程所使用的虚存的大小(Virtual Size)
    RSS    进程使用的驻留集大小或者是实际内存的大小,Kbytes字节
    TTY    与进程关联的终端(tty)
    STAT    进程的状态:进程状态使用字符表示的(STAT的状态码)
        R 运行                正在运行或在运行队列中等待
        S 睡眠                休眠中, 受阻, 在等待某个条件的形成或接受到信号
        I 空闲    
        Z 僵死                 进程已终止, 但进程描述符存在
        D 不可中断         收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
        T 终止                 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
        P 等待交换页
        W 无驻留页          没有足够的记忆体分页可分配。
        X 死掉的进程
        < 高优先级进程                    高优先序的进程
        N 低优先    级进程                低优先序的进程
        L 内存锁页                             有记忆体分页分配并缩在记忆体内
        s 进程的领导者(在它之下有子进程);
        l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)

        + 位于后台的进程组 

    START    进程启动时间和日期
    TIME    进程使用的总cpu时间
    COMMAND    正在执行的命令行命令


    2,top命令

    [root@localhost ~]#  top  (默认3秒刷新)


    top - 12:38:33 up 50 days, 23:15,  7 users,  load average: 60.58, 61.14, 61.22

    Tasks: 203 total,  60 running, 139 sleeping,   4 stopped,   0 zombie

    Cpu(s) : 27.0%us, 73.0%sy,  0.0%ni,  90%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

    Mem:  1939780k total,  1375280k used,   564500k free,   109680k buffers

    Swap:  4401800k total,   497456k used,  3904344k free,   848712k cached

      PID  USER     PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND          

     4338 oracle    25   0  627m 209m 207m R    0  11.0 297:14.76 oracle    

     4267 oracle    25   0  626m 144m 143m R    6  7.6  89:16.62 oracle    

     3458 oracle    25   0  672m 133m 124m R    0  7.1   1283:08 oracle    

     3478 oracle    25   0  672m 124m 115m R    0  6.6   1272:30 oracle    

     3395 oracle    25   0  672m 122m 113m R    0  6.5   1270:03 oracle    

     3480 oracle    25   0  672m 122m 109m R    8  6.4   1274:13 oracle    

     3399 oracle    25   0  672m 121m 110m R    0  6.4   1279:37 oracle  

    TOP前五行统计信息

    统计信息区前五行是系统整体的统计信息。

    1. 第一行是任务队列信息

    同 uptime 命令的执行结果一样

     13:22:30 up 8 min,  7 users,  load average: 0.14, 0.38, 0.25

    其内容如下:

    12:38:33

    当前时间

    up 50days

    系统运行时间

    7 user

    当前登录用户数

    load average: 0.06, 0.60, 0.48

    系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

    2. 第二、三行为进程和CPU的信息

    当有多个CPU时,这些内容可能会超过两行。内容如下:

    Tasks: 203 total

    进程总数

    60 running

    正在运行的进程数

    139 sleeping

    睡眠的进程数

    4 stopped

    停止的进程数

    0 zombie

    僵尸进程数

    Cpu(s): 27%us

    用户空间占用CPU百分比

    73.0% sy

    内核空间占用CPU百分比

    0.0% ni

    用户进程空间内改变过优先级的进程占用CPU百分比

    90% id

    空闲CPU百分比

    0.0% wa

    等待输入输出的CPU时间百分比





    3. 第四五行为内存信息。

    内容如下:

    Mem: 191272k total

    物理内存总量

    173656k used

    使用的物理内存总量

    17616k free

    空闲内存总量

    22052k buffers

    用作内核缓存的内存量

    Swap: 192772k total

    交换区总量

    0k used

    使用的交换区总量

    192772k free

    空闲交换区总量

    123988k cached

    缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入


    进程信息解释:


    列名

    含义

    PID

    进程id

    PPID

    父进程id

    RUSER

    Real user name

    UID

    进程所有者的用户id

    USER

    进程所有者的用户名

    GROUP

    进程所有者的组名

    TTY

    启动进程的终端名

    PR

    优先级

    NI

    nice值,负值表示高优先级,正值表示低优先级

    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

    若该进程在睡眠,则显示睡眠中的系统函数名

    Flags

    任务标志,参考 sched.h

                             













    本文转自super李导51CTO博客,原文链接:http://blog.51cto.com/superleedo/1886802 ,如需转载请自行联系原作者




  • 相关阅读:
    To select the file to upload we can use the standard HTML input control of type
    Cascading Menu Script using Javascript Explained
    网站首页head区代码规范
    轻松掌握 Java 泛型
    JDK 5.0 中的泛型类型学习
    如何在firefox下获取下列框选中option的text
    是同步方法还是 synchronized 代码? 详解多线程同步规则
    javascript select option对象总结
    Select的动态取值(Text,value),添加,删除。兼容IE,FireFox
    javascript在ie和firefox下的一些差异
  • 原文地址:https://www.cnblogs.com/twodog/p/12138683.html
Copyright © 2011-2022 走看看