[转载]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 列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值