zoukankan      html  css  js  c++  java
  • vmstat 命令详解 转载

    vmstat 命令详解  
     procs:
    r-->在运行队列中等待的进程数
    b-->在等待io的进程数
    w-->可以进入运行队列但被替换的进程

    memoy
    swap-->现时可用的交换内存(k表示)
    free-->空闲的内存(k表示)

    pages
    re--》回收的页面
    mf--》非严重错误的页面
    pi--》进入页面数(k表示)
    po--》出页面数(k表示)
    fr--》空余的页面数(k表示)
    de--》提前读入的页面中的未命中数
    sr--》通过时钟算法扫描的页面

    disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号


    fault 显示每秒的中断数
    in--》设备中断
    sy--》系统中断
    cy--》cpu交换

    cpu 表示cpu的使用状态
    cs--》用户进程使用的时间
    sy--》系统进程使用的时间
    id--》cpu空闲的时间


    (1)通过VMSTAT识别CPU瓶颈

    如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。
    如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us) 系统则面临着CPU资源的短缺.


    r(运行队列)展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现瓶颈了。
    当r值超过了CPU个数,就会出现CPU瓶颈,解决办法大体几种:
    1.   最简单的就是增加CPU个数
    2.   通过调整任务执行时间,如大任务放到系统不繁忙的情况下进行执行,进尔平衡系统任务
    3.  调整已有任务的优先级  
    首先需要声明一点的是,vmstat中CPU的度量是百分比的。当us+sy的值接近100的时候,表示CPU正在接近满负荷工作。但要注意的是,CPU满负荷工作并不能说明什么,UNIX总是试图要CPU尽可能的繁忙,使得任务的吞吐量最大化。唯一能够确定CPU瓶颈的还是r(运行队列)的值。
      
    (2)通过VMSTAT识别RAM瓶颈

    如果pi,po 长期不等于0,表示内存不足。

    内存的瓶颈是由scan rate (sr)来决定的.scan rate是通过每秒的始终算法来进行页扫描的.如果scan rate(sr)连续的大于每秒200页则表示可能存在内存缺陷.同样的如果page项中的pi和po这两栏表示每秒页面的调入的页数和每秒调出的页数.如果该值经常为非零值,也有可能存在内存的瓶颈,当然,如果个别的时候不为0的话,属于正常的页面调度这个是虚拟内存的主要原理.


    数据库服务器都只有有限的RAM,出现内存争用现象是Oracle的常见问题。
    首先察看RAM的数量,命令如下(LINUX环境):
    当内存的需求大于RAM的数量,服务器启动了虚拟内存机制,通过虚拟内存,可以将RAM段移到SWAP DISK的特殊磁盘段上,这样会出现虚拟内存的页导出和页导入现象,页导出并不能说明RAM瓶颈,虚拟内存系统经常会对内存段进行页导出,但页导入操作就表明了服务器需要更多的内存了,页导入需要从SWAP DISK上将内存段复制回RAM,导致服务器速度变慢。
      
    解决的办法有几种:
    1.       最简单的,加大RAM
    2.       改小SGA,使得对RAM需求减少
    3.       减少RAM的需求(如:减少PGA)


    (3)通过VMSTAT识别IO瓶颈
    如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。
     

    -----------------------------------------------

    Vmstat 命令 详细解释
    2008-10-07 10:17

    Vmstat详细解释 
    vmstat:报告关于内核进程,虚拟内存,磁盘,cpu的的活动状态的工具 
    主要有几个用法: 
    1.vmstat 间隔 测试数量 
    输出如下 
    kthr memory page faults cpu 
    ----- ----------- ------------------------ ------------ ----------- 
    r b avm fre re pi po fr sr cy in sy cs us sy id wa 
    0 0 26258 18280 0 0 0 7 20 0 127 227 64 1 2 96 1 
    其中: 
    kthr--内核进程的状态 
    --r 运行队列中的进程数,在一个稳定的工作量下,应该少于5 (r <5)
    --b 等待队列中的进程数(等待I/O),通常情况下是接近0的. (b=0
    memory--虚拟和真实内存的使用信息 
    --avm 活动虚拟页面,在进程运行中分配到工作段的页面空间数. 
    --fre 空闲列表的数量.一般不少于120,当fre少于120时,系统开始自动的kill进程去释放 
    free list 
    page--页面活动的信息 
    --re 页面i/o的列表 
    --pi 从页面输入的页(一般不大于5) 
    --po 输出到页面的页 
    --fr 空闲的页面数(可替换的页面数) 
    --sr 通过页面置换算法搜索到的页面数 
    --cy 页面置换算法的时钟频率
     
    faults--在取样间隔中的陷阱及中断数 
    --in 设备中断 
    --sy 系统调用中断 
    --cs 内核进程前后交换中断 
    cpu--cpu的使用率 
    --us 用户进程的时间 
    --sy 系统进程的时间 
    --id cpu空闲的时间 
    --wa 等待i/o的时间 
    一般us+sy 在单用户系统中不大于90,在多用户系统中不大于80. 
    wa时间一般不大于40.
     

    2.vmstat -s 
    显示系统自初始化以来的页面信息.
    +++++++++++++++++++++++++++++++++++++++++++++++

    vmstat命令也是显示Linux性能指标的方法,它报告了许多信息,理解这些信息有一定难度。

    输出分为6个类别:进程、内存、交换区、I/O、系统和CPU。与iostat类似,第一个样本是从最近重新启动以来的平均值。以下是一个典型的vmstat输出:

     

    -m选项使内存字段以兆字节为单位显示。vmstat和许多其他性能命令一样使用取样间隔和计数参数。

    进程(procs)信息有两列。r列是可运行进程的数量,b列是阻塞进程的数量。

    内存部分有4个报告虚拟内存如何使用的字段。表3-7列出这些字段及其意义。

    表3-7                                                  vmstat内存字段

    字    段

    说    明

    Swpd

    已用的交换空间数量

    free

    自由RAM数量

    buff

    缓冲使用的RAM数量

    cache

    文件系统缓存使用的RAM数量

    接下来是交换(swap)指标。交换只是一个古老术 语,但是显然不会消失。交换涉及分页读取或写入磁盘的进程所消耗的所有内存。它将显示系统达到的性能指标水平。而Linux所做的是,以小块方式按照需要 对磁盘空间进行分页操作。因此,我们可能应该停止说交换到磁盘的内存,并开始说分页到磁盘的内存。对于任何一种方法,表3-8解释了相关字段。

    表3-8                                                   vmstat交换字段

    字    段

    说   明

    si

    从磁盘分页到内存的数量

    so

    从内存分页到磁盘的数量

    在交换之后是两个I/O字段。这部分提供了一个简略介绍以帮助确定Linux是否正忙于完成许多磁盘I/O。vmstat只提供两个字段,显示出入磁盘的数据量(参见表3-9)。

    表3-9                                                   vmstat io字段

    字    段

    说   明

    bi

    从磁盘读入的块

    bo

    写入磁盘的块

    系统字段提供Linux内核进行进程管理的繁忙程度的摘要。中断和上下文开关参见表3-10。上下文开关指进程移出CPU或者移入CPU。

    表3-10                                               vmstat系统字段

    字   段

    说     明

    in

    系统中断

    cs

    进程上下文开关

    最后,CPU状态信息用总CPU时间的百分比来表示,如表3-11所示。

    表3-11                                               vmstat cpu字段

    字    段

    说     明

    us

    用户模式

    sy

    内核模式

    wa

    等待I/O

    id

    空闲

  • 相关阅读:
    C++中volatile及编译器优化
    virtualbox 复制虚拟机提示uuid is exists
    Opencv实现简易播放器
    机器学习 Hidden Markov Models 2
    MFC显示Mat图片
    HDU 1518 Square
    马的遍历问题
    JAVA反射机制
    UNIX基础知识
    开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]
  • 原文地址:https://www.cnblogs.com/future2012lg/p/4288953.html
Copyright © 2011-2022 走看看