vmstat 5

可以使用ctrl+c停止vmstat,可以看到输出依赖于所用的操作系统,因此可能需要阅读一下手册来解读报告

第一行的值是显示子系统启动以来的平均值,第二行开始展示现在正在发生的情况,接下来的行会展示每5秒的间隔内发生了什么

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st

 

r 多少进程正在等待cpu

b 多少进程正在不可中断的休眠(通常意味着他们在等待io,例如磁盘,网络,用户输入,等等)

swapd 多少块被换出到了磁盘(页面交换)

free  空闲的

buff 正在被用作缓冲的

cache 被用作系统缓存的

si 每秒有多少块正在被换入(从磁盘)

so每秒有多少块正在被换出(到磁盘)

我们很喜欢看到si和so列示0,并且我们很明确不希望看到每秒超过10个块。

io 显示有多少块从设备读取(bi)和写出(bo),反映了硬盘IO

in 每秒中断

cs 上下文切换的数量

执行用户代码的百分比

执行系统代码的百分比

空闲百分比

等待io百分比

从虚拟机中偷走的百分比(如果正在使用虚拟机话,有此列,虚拟机想运行但是系统管理程序转而运行其的对象的时间,如果虚拟机不希望运行任何对象,但是系统管理员运行了其他对象,这不算被偷走的cpu时间)

 

memory ,swap,io 统计的时块数而不是字节。在gun/linux ,块大小通常是1024字节

可阅读vmstat(8)

高性能mysql 426页