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页