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 |
空闲 |