vmstat 命令会报告有关内核线程、虚拟内存、磁盘、管理程序页面、陷阱和处理器活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。因为不会自动读取统计信息,所以 vmstat 命令可能会返回不一致的统计信息。
如果在没有标志的情况下运行 vmstat 命令,那么报告会包含系统启动后虚拟内存活动的摘要。如果指定 -f 标志,那么 vmstat 命令会报告系统启动后的派生数。physicalvolume 参数指定物理卷的名称。
interval 参数指定每次报告之间的秒数。如果不指定 interval 参数,那么 vmstat 命令会生成单个报告,该报告包含有关系统启动和退出之间所经历时间的统计信息。count 参数只能与 interval 参数一起指定。如果指定了 count 参数,那么它的值将确定生成的报告数目和报告相距秒数。如果指定 interval 参数而不指定 count 参数,那么会继续生成报告。不要对 count 参数指定值 0。
内核为内核线程、调页和中断活动维护统计信息,vmstat 命令通过使用 perfstat 内核扩展来对其进行访问。磁盘输入/输出统计信息由设备驱动程序维护。对于磁盘,利用活动时间和传送信息的次数来确定平均传送速率。活动时间的百分数根据报告期间驱动器忙的时间长度来计算。
从 AIX® 5.3 开始,vmstat 命令报告在Micro-Partitioning®环境中消耗的物理处理器 (pc) 数和消耗的授权 (ec) 百分比。这些度量值将对Micro-Partitioning环境显示。
由 vmstat 命令生成的报告包含系统配置行和列标题。如果指定了 -@ 标志,那么报告将包含系统配置和WPAR配置。
用法
vmstat [-a] [-n] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]
参数 | 含义 |
---|---|
-a | 显示活跃和非活跃内存 |
-f | 显示从系统启动至今的fork数量 |
-m | 显示slabinfo |
-n | 只在开始时显示一次各字段名称。 |
-s | 显示内存相关统计信息及多种系统活动数量 |
delay | 刷新时间间隔。如果不指定,只显示一条结果 |
count | 刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷 |
-d | 显示磁盘相关统计信息 |
-p | 显示指定磁盘分区统计信息 |
-S | 使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes) |
-V | 显示vmstat版本信息。 |
or: 运行队列中进程数量
ob: 等待IO的进程数量
oswpd: 使用虚拟内存大小
ofree: 可用内存大小
obuff: 用作缓冲的内存大小
ocache: 用作缓存的内存大小
osi: 每秒从交换区写到内存的大小
oso: 每秒写入交换区的内存大小
IO:(现在的Linux版本块的大小为1024bytes)
obi: 每秒读取的块数
obo: 每秒写入的块数
oin: 每秒中断数,包括时钟中断。
ocs: 每秒上下文切换数。
ous: 用户进程执行时间(user time)
osy: 系统进程执行时间(system time)
oid: 空闲时间(包括IO等待时间),中央处理器的空闲时间 ,以百分比表示。
owa: 等待IO时间
[root@root ~]#: vmstat -f
[root@root ~]#: vmstat -m
[root@root ~]#: vmstat -n
[root@root ~]#: vmstat -s
[root@root ~]#: vmstat 1 2
将得到一个数据汇总他能够反映真正的系统情况。以 指定的MB 单位输出结果
vmstat -S M 1 2
vmstat -a 2 5
vmstat -d
读
total: 成功读取的总数
merged: 分组读取(产生一个 IO)
sectors: 成功读取的扇区数
ms: 读取花费的毫秒
写
total: 成功写入的总数
merged: 分组写入(产生一个 IO)
sectors: 成功写入的扇区数
ms: 写花费的毫秒
IO
cur: 正在进行的IO
sec: IO花费的秒数
使用dd命令持续写入的时候,我们使用vmstat命令查看内存的使用情况(在此之前可以调低你的运行内存,达到实验的效果)
dd if=/dev/zero of=/1.txt bs=1G count=20
物理内存不足时:
1、开始使用swpd,swpd不为0
2、si so大于0开始从硬盘中读取
表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。(大于0,关注内存泄漏,结合si和so看,如果si和so为0,也没关系)