下面是关于Unix下vmstat命令的详细介绍,收录在这里,以备日后参考

vmstat是用来实时查看内存使用情况,反映的情况比用top直观一些.作为一个CPU监视器,vmstat命令比iostat命令优先级要高,因为vmstat命令是滚动的,使得它的每报告一行的输出更容易扫描,并且如果有很多磁盘连接到系统中,由此所引起的开销更少。

如果直接使用,只能得到当前的情况,最好用个时间间隔来采集vmstat
T其中T用具体的时间标示,单位是

Vmstat 命令详细解释

kthr--内核进程的状态

--r 运行队列中的进程数,在一个稳定的工作量下,应该少于5

--b 等待队列中的进程数(等待I/O),通常情况下是接近0的.

memory--虚拟和真实内存的使用信息

--avm 活动虚拟页面,在进程运行中分配到工作段的页面空间数.

--fre 空闲列表的数量.一般不少于120,当fre少于120时,系统开始自动的kill进程去释放

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.

其中:

如果r经常大于4,且id经常少于40,表示cpu的负荷很重。

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

如果b中的队列大于3,表示io性能不好。

更具体的参数说明

CPU统计信息在设备中断负载很高的系统上会有一定程度的失真。这种情况是因为该工具是对定时器中断采样。定时器是优先级最低的设备,所以它很容易被其它中断抢先。为了消除失真,当操作系统版本晚于AIX
4.3.3时,采用了一种不同的方法来对定时器进行采样。

注:对对称多处理系统us、sy、id和wa几列只是对各处理器求平均值(sar命令可以报告每个处理器的统计信息)。一个I/O等待和空闲时间只能从未决I/O的状态来区分。如果有一个未决磁盘I/O,并且处理器不忙,那么这是一个I/O等待时间。AIX
4.3.3和其后的系统中用一个增强的方法来计算花费在磁盘I/O上的CPU时间(wio时间)所占的百分比。

在最佳使用时,CPU在100%的时间中都在工作。在单用户系统中更是这样,这里不需要共享CPU。总的来说,如果us
+ sy时间低于90%,则不认为该单用户系统CPU受限制。但是,如果在一个多用户系统中us
+ sy时间超过80%,其中的进程将要花时间在运行队列中等待。响应时间和吞吐量会受损害。要检查CPU是否是瓶颈,考虑vmstat报告中的四个cpu列和两个kthr(内核线程)列,也应该查看faults列。cpu列在该时间间隔内使用CPU时间的百分比细分。cpu列如下:

us参数

us列显示了用户模式所消耗的CPU时间。一个UNIX进程可以在用户模式下执行,也可以在系统(内核)模式下执行。当在用户模式下执行时,进程在它自己的应用程序代码中之行,不需要内核资源来进行计算、管理内存或设置变量。

sy参数

sy列详细显示了CPU在系统模式下执行一个线程所花时间的百分比。包括内核进程(kprocs
)和其它需要访问内核资源的进程所消耗的CPU资源。如果一个进程需要内核资源,它必须执行一个系统调用,并因此被切换到系统模式从而可以使用该资源。例如,对一个文件的读或写操作需要内核资源来打开文件、寻找指定的位置和读写数据,除非使用内存映射文件。

id参数

id列显示了没有未决本地磁盘I/O时CPU空闲或等待时间的百分比。如果没有线程可以执行(运行队列为空)系统调度一个叫做wait的线程,也就是idlekproc。在一个对称多处理系统中,每个处理器都有一个wait线程可调度。由ps命令(带有-k或-g
0选项)将它确定为kproc或wait。如果报告中ps显示这个线程的总计时间高,这表明存在显著的时期,没有其它线程在这个CPU上准备运行或等待执行。系统因此大部分时间或任务空闲和等待新任务。

如果没有未决I/O,所有用于等待的时间归入空闲时间中。在4.3.2版或更早的操作系统中,访问远程磁盘(安装NFS磁盘)被当作空闲时间(有少量sy时间来执行NFS请求),因为没有对本地磁盘的未决I/O请求。在AIX
4.3.3和以后的系统中,NFS通过缓冲区高速缓存,在这些例程中的等待被放入wa中统计。

wa参数

wa列详细显示了有未决本地磁盘I/O时CPU空闲的时间百分比(在AIX
4.3.3和以后版本的系统中,对安装了NFS的磁盘也是这样)。如果当等待正在运行时至少有一个未完成的磁盘I/O,该时间归入等待I/O的时间。除非该进程使用异步I/O,否则对磁盘的I/O请求使调用线程被阻塞(或睡眠)直到请求被完成。一旦进程的I/O请求完成,该进程被放入运行队列中。如果I/O很快完成,该进程可以使用更多的CPU时间。wa的值如果超过25%,就表明磁盘子系统可能没有被正确平衡,或者这也可能是磁盘工作负荷很重的结果。

Kthr列每秒钟在采样间隔上对各种队列中的内核线程数求得的平均值。kthr列如下:

r参数

可运行的内核线程平均数目,包括正在运行的线程和等待CPU的线程。如果这个数字大于CPU的数目,至少有一个线程要等待CPU,等待CPU的线程越多,越有可能对性能产生影响。

b参数

每秒VMM等待队列中的内核线程平均数。包括正在等待文件系统I/O的线程,或由于内存装入控制而被挂起的线程。如果进程由于内存装入控制而被挂起,在vmstat报告中的阻塞列(b)表明线程数目增加,而不是运行队列中线程数目增加。

p参数

对与vmstat -I,是每秒等待原始设备I/O的线程数目。等待文件系统I/O的线程不包括在这里。

faults列关于进程控制的信息,如陷阱和中断率。faults列如下:

in参数

在该时间间隔中观测到的每秒设备中断数。额外信息可见用vmstat命令评估磁盘性能。

sy参数

在该时间间隔中观测到的每秒系统调用次数。通过明确的系统调用,用户进程可以使用资源。这些调用命令内核为调用线程执行操作,并在内核和该进程之间交换数据。因为,工作负荷和应用程序变化很大,不同的调用

以下是linux下vmstat的详细介绍:

vmstat

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 vmstatio字段

字 段

说 明

bi

从磁盘读入的块

bo

写入磁盘的块

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

表3-10 vmstat系统字段

字 段

说 明

in

系统中断

cs

进程上下文开关

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

表3-11 vmstatcpu字段

字 段

说 明

us

用户模式

sy

内核模式

wa

等待I/O

id

空闲

vmstat详细说明的更多相关文章

  1. LR杂记 - Linux的系统监控工具vmstat详细说明

    一.前言 非常显然从名字中我们就能够知道vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,可是如何通过vmstat来发现系统中的瓶颈呢?在回答这个问题前,还是让我们回想一下 ...

  2. linux系统性能调优第一步——性能分析(vmstat)

    linux系统性能调优第一步--性能分析(vmstat) 分类: LINUX 性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对linux性能分析工具vmstat的用法和实践进行详细介 ...

  3. vmstat 命令详解 转载

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

  4. Linux查看系统性能命令

    性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对linux性能分析工具vmstat的用法和实践进行详细介绍. ———————————————————————————————————— ...

  5. 转贴---Linux服务器性能评估

    http://fuliang.iteye.com/blog/1024360 http://unixhelp.ed.ac.uk/CGI/man-cgi?vmstat ------------------ ...

  6. Linux系统性能调优之性能分析

    1.Linux性能分析的目的1)找出系统性能瓶颈(包括硬件瓶颈和软件瓶颈):2)提供性能优化的方案(升级硬件?改进系统系统结构?):3)达到合理的硬件和软件配置:4)使系统资源使用达到最大的平衡.(一 ...

  7. linux监控平台搭建-内存

    linux监控平台搭建-内存 上一篇文章说的硬盘.就写一下.更加重要的东西.在手机上面是RAM.机器是memory.内存是按照字节编址.每个地址的存储单元可以存放8bit的数据.cpu 通过内存地址获 ...

  8. 详细说明进程管理工具htop、vmstat等相关命令

    htop htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统top.与top只提供最消耗资源进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器.swap和内存 ...

  9. 每天一个linux命令(46):vmstat命令

    vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深 ...

随机推荐

  1. 安装rackspace private cloud --2 overview

    Target hosts 包含以下 network bridges: LXC internal lxcbr0: 必须的,自动生成,containers的外网连接,不连接到host上任何物理/逻辑接口, ...

  2. JAVA设计模式初探之组合模式

    先看看组合模式的定义吧:“将对象组合成树形结构以表示‘部分-整体’的层次结构.组合模式使得用户对单个对象和组合对象的使用具有一致性.” 就拿剪发办卡的事情来分析一下吧. 首先,一张卡可以在总部,分店, ...

  3. eclipse web项目导入itellij idea并启动

    概述 主要分为项目配置和tomcat配置两大步骤. 一.项目配置 打开idea,选择导入项 选择将要打开的项目路径后,继续选择项目的原本类型(后续引导设置会根据原本的项目类型更新成idea的项目),此 ...

  4. iTerm2 + Oh My Zsh

    iTerm2 http://iterm2.com/downloads.html https://iterm2.com/downloads/stable/iTerm2-2_1_4.zip Oh My Z ...

  5. 教你们在cmd里运行打开游戏,效率很快的。喜欢吧?

    第一步安装好的游戏 环境变量 变量值:把刚才复制好粘贴在里面,前面不用删除. 喜欢吧?这招非常好用.

  6. KVM-克隆

    kvm虚拟机的克隆分为两种情况,本文也就通过以下两种情况进行克隆,克隆虚拟机为Centos 6.4X64. (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆( ...

  7. pdp 的连接方法

    <?php $dsn = "mysql:host=127.0.0.1;dbname=blog_edu"; try{ $pdo = new PDO($dsn,'root','' ...

  8. 转载:maven依赖范围

    其中依赖范围scope 用来控制依赖和编译,测试,运行的classpath(注意是与classpath)的关系. 主要的是三种依赖关系如下:1.compile: 默认编译依赖范围.对于编译,测试,运行 ...

  9. 《Javascript高级程序设计》阅读记录(四):第五章 下

    这个系列,我会把阅读<Javascript高级程序设计>之后,感觉讲的比较深入,而且实际使用价值较大的内容记录下来,并且注释上我的一些想法.做这个一方面是提升了我的阅读效果以及方便我以后阅 ...

  10. ACM学习历程—SNNUOJ1213 加油站问题(动态规划 || 数学)

    题目链接:http://219.244.176.199/JudgeOnline/problem.php?id=1213 这是这次微软实习面试的一道题,当时只相出了一个2n的做法,面试官让我优化成n的做 ...