vmstat是一个全面的性能分析工具,可以用来观察系统的进程、IO、内存、CPU使用情况,对优化系统有很大的帮助。
1 | vmstat 2 2 |
参数说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 362212 131608 314792 0 0 4 16 468 63 0 0 99 0 0 0 0 0 362212 131608 314792 0 0 0 0 999 45 0 0 100 0 0 0 0 0 362212 131608 314792 0 0 0 0 1007 65 0 0 100 0 0 procs: r 正在运行或等待CPU的进程数 b 等待IO/内存等资源的进程数 memory: swpd 虚拟内存的使用量 free 空闲的内存量 buff 块设备读写缓存 cache 文件系统读写缓存 SWAP: si 从磁盘交换到内存的交换页数量,单位KB。 so 从内存交换到磁盘的交换页数量,单位KB。 IO: bi 读取块设备的数量,单位块。 bo 写入块设备的数量,单位块。 System: in 每秒的中断数,包括时钟中断。 cs 每秒的环境上下文切换次数。 CPU: us 用户进程占用时间 sy 系统占用时间 id 闲置时间 wa IO等待时间 |
总结:
1 2 3 | 如果r大于3或4,且id小于%50,则CPU是瓶颈。 wa经常不等于0,b中的队列较大,则IO是瓶颈。 如bi bo长期不等于0,则内存较小。 |