MAN vmstat

 

vmstat - Virtual Memory Statistics 虚拟内存统计

vmstat报告了系统的进程,内存,页面,阻塞IO,中断和CPU的活动情况。

第一行的数据是自系统启动以来的平均值,之后提供的数据则是基于特定采样时间内的平均值,进程和内存统计值是即时的

 

选项

-a 显示active/inactive内存,在2.5.41之后的内核中支持此选项

-f 显示自系统启动以来fork的数量,包括fork,vfork,clone,也即系统启动以来创建过的任务数,每个进程由一个或多个任务组成,具体依赖于如何使用线程,这个值会一直保持增长。

-t 在输出后补充显示一列时间戳

-m 显示slabinfo

-n 使头信息只显示一次,而不是间断显示头信息

-s 显示各种事件(event)和内存统计值,这个值会一直保持增长

-d 磁盘统计

-w 为大内存加大内存显示宽度

-p 后面加分区名,显示分区的详细统计信息

-S 后面加k=1000 K=1024 m=1000000 M=1048576,内存单位

-V 版本信息

虚拟内存状态字段描述(vmstat ;vmstat -a)

Proc

r: 等待运行的进程数

b: 处于不可中断的进程数

Memory

swpd: 使用的虚拟内存量

free: 空闲内存量

buff: 作为buffer使用的内存量

cache: 作为cache使用的内存量

inact: 非活动的内存量

active: 活动的内存量

Swap

si: 从磁盘交换到内存的内存量

so: 从内存交换到磁盘的内存量

IO

bi: 从块设备收到的块数量,即读的block数

bo: 发给块设备的块数量,即写的block数

System

in: 每秒的中断数,包括时钟频率

cs: 每秒的上下文切换数

CPU

总CPU时间的百分比,注意CPU的数量

us: CPU运行非内核代码的时间

sy: CPU运行内核代码的时间

id: CPU空闲时间,2.5.41之前的内核,此值还包含了IO等待的时间

wa: CPU等待IO花费的时间

st: 虚拟机中CPU被用作其他非此VM操作的时间

磁盘状态字段描述(vmstat -d)

Reads

total: 成功的read操作数

merged: 合并后的read操作数(合在同一次IO中读取)

sectors: 成功读取的sector数

ms: read操作花费的时间,单位毫秒(milliseconds)

Writes

total: 成功的write操作数

merged: 合并后的write操作数

sectors: 成功写入的sector数

ms: write操作话费的时间,单位毫秒(milliseconds)

IO

cur: 正在进行的IO数

s: IO花费的时间,单位秒(second)

磁盘分区状态字段描述(vmstat -p /dev/sda1)

reads: 这个分区总的read操作数

read sectors:分区上read的sector数

writes: 这个分区上的write操作数

requested wrties:分区上总的write请求数

SLAB状态字段描述(vmstat -m)

cache: cache名

num: 当前活动的对象数, number of currently active objects

total: 可用对象总数,total number of available objects

size: 每个对象的大小,size of each objects

pages: 至少有一个活动对象的页面数,number of pages with at least on active object

totalpages:分配的页面总数,total number of allocated pages

pslab: 每个slab的页面数,number of pages per slab

注:

vmstat运行不需要特殊的权限,报告中的数据只是为了定位瓶颈,linux中vmstat并不将自身算作正在运行的进程。目前所有的linux block都是1024byte=1K,

posted @ 2012-11-27 15:46  sculley  阅读(244)  评论(0)    收藏  举报