• [转载]Linux性能测试 top命令


     

    原文地址:http://www.cnblogs.com/txw1958/archive/2012/07/25/linux-top-command.html

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
    top可以显示CPU占用率为前几位的进程,并提供CPU的实时活动情况
    语法:top [-s time] [-d count] [-q] [-u] [-h] [-n number] [-f filename]
    -s time 设置屏幕刷新的延时,单位为秒,默认值5秒
    -d count 设置屏幕刷新的次数,刷新显示完count次后退出
    -q 如果经过nice授权,使用-q可以使top运行的更快一些
    -u 用显示User ID代替username,提高命令运行速度

    -h 当系统由多个CPU时,个别CPU的状态信息被隐藏,只显示平均状态值 

    -n number 设置每一屏幕显示的进程数目,number值超过进程最大数目,则设置无效
    -f filename 输出重定向到给定的文件名,默认为16个进程信息

       1: top - 09:20:44 up  1:49,  1 user,  load average: 0.07, 0.02, 0.00
       2: Tasks:  67 total,   1 running,  64 sleeping,   2 stopped,   0 zombie
       3: Cpu(s):  0.0% us,  0.0% sy,  0.0% ni, 100.0% id,  0.0% wa,  0.0% hi,  0.0% si
       4: Mem:    514280k total,   313348k used,   200932k free,    20480k buffers
       5: Swap:  2008116k total,        0k used,  2008116k free,   217160k cached
       6:  
       7:   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
       8:     1 root      16   0  1696  552  472 S    0  0.1   0:00.57 init
       9:     2 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0
      10:     3 root      34  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/0
      11:     4 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/1
      12:     5 root      34  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/1
      13:     6 root       5 -10     0    0    0 S    0  0.0   0:00.00 events/0
      14:     7 root       5 -10     0    0    0 S    0  0.0   0:00.00 events/1
      15:     8 root       5 -10     0    0    0 S    0  0.0   0:00.00 khelper
      16:     9 root      15 -10     0    0    0 S    0  0.0   0:00.00 kacpid

    统计信息区(前五行)
    第一行:任务队列信息,同 uptime 命令的执行结果。其内容如下:
    09:20:44 当前时间
    up 1:49 系统运行时间,格式为时:分
    1 user    当前登录用户数
    load average: 0.07, 0.02, 0.00 
    系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

    第二行:进程信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
    67 total  进程总数
    1 running 正在运行的进程数
    64 sleeping   睡眠的进程数
    2 stopped 停止的进程数
    0 zombie       僵尸进程数

    第三行:CPU的信息。当有多个CPU时,可能不止一行。内容如下:
    0.0% us   (user mode)用户占用CPU百分比
    0.0% sy   (system mode)系统占用CPU百分比
    0.0% ni   (low priority user mode (nice))低优先级用户占用CPU百分比
    100.0%  id    (idle task)空闲任务占CPU百分比
    0.0% wa (I/O waiting)等待输入输出的CPU时间百分比
    0.0% hi   (servicing IRQs)硬件中断占CPU百分比
    0.0% si   (servicing soft IRQs)软件中断占CPU百分比

    有些系统还可以看到st(Steal Time)

    %st(steal)用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间

    IBM’s definition of steal time is actually pretty good:

    Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.

    A high steal percentage may mean that you may be outgrowing your virtual machine with your hosting company. Other virtual machines may have a larger slice of the CPU’s time and you may need to ask for an upgrade in order to compete. Also, a high steal percentage may mean that your hosting company is overselling virtual machines on your particular server. If you upgrade your virtual machine and your steal percentage doesn’t drop, you may want to seek another provider.

    A low steal percentage can mean that your applications are working well with your current virtual machine. Since your VM is not wrestling with other VM’s constantly for CPU time, your VM will be more responsive. This may also suggest that your hosting provider is underselling their servers, which is definitely a good thing.

    第四行:物理内存信息
    最后两行为内存信息。内容如下:
    514280k total  物理内存总量
    313348k used  使用的物理内存总量
    200932k free  空闲内存总量
    20480k buffers  用作内核缓存的内存量

    第五行:交换内存信息
    2008116k total    交换区总量
    0k used   使用的交换区总量
    2008116k free  空闲交换区总量
    217160k 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
    默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。

  • 相关阅读:
    转:使用vs2013打开VS2015的工程文件的解决方案(适用于大多数vs低版本打开高版本)
    linq 动态组合条件
    转:Web应用程序项目XX已配置为使用IIS
    转:centos彻底删除文件夹、文件命令
    转:WebClient类(温习一下)
    解决 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
    转:装完Centos7提示Initial setup of CentOS Linux 7 (core)
    PL/SQL Developer 登录 Oracle 12c和Win10下安装Oracle 11g
    centos7-linux安装docker(离线方式)
    windows7安装gitblit
  • 原文地址:https://www.cnblogs.com/lovemdx/p/2874182.html
Copyright © 2020-2023  润新知