天天看点

性能分析工具 之 vmstat

vmstat :是virtual memory statistics(虚拟内存统计)的缩写,很多linux版本默认安装此命令工具。该命令可以对操作系统的内存信息,进程状态,cpu活动进行查看,不足之处是无法对某个进程进行深入分析。

vmstat

-V :查看版本信息

delay :表示两次输出之间的时间间隔

count :按照delay时间间隔统计的次数

vmstat 2 :表示两秒钟更新一次输出信息,ctrl+c 停止输出

vmstat 1 4 :1秒更新一次输出信息,4次后停止输出

对输出的内容分析

proces :

       r列表示运行和等待cpu时间片的进程数,这个值如果长期大于系统cpu的个数说明cpu不足,

       需增加cpu

       b列表示在等待支援的进程数,比如正在等待I/o或者内存交换等

memory:

        swpd:虚拟内存的使用情况,单位为kb

        free:空闲内存,单位为kb

        buff:表示buffers cache的内存数,一般对块设备的读写才需要缓冲

        cache:表示page changed的内存数量,一般作为文件系统进行缓冲

swap:

         si:表示由磁盘调入内存,也就是由内存进入内存交换分区的内存大小

          so:由内存调入磁盘,也就是由内存交换区进入内存的内存大小

一般情况下si,so的值都为0,如果二者长期不为0,表示系统内存不足,需要添加系统内存

io: 

       bi:表示从块设备读入数据的总量

        bo:表示写到块设备的数据总量

system :

       in:表示在一段时间间隔内观测到的每秒设备中断数

        cs:每秒产生的上下文切换次数‘

cpu :

       us:用户进程消耗的cpu时间百分比,us的值比较高时说明用户进程消耗的cpu时间多,如

          果长期大于50%,需要优化

        sy:内核进程消耗的cpu时间百分比

        若us+sy大于80%说明cpu资源不足

         id:cpu处于空闲状态段时间百分比

          wa:i/o等待所占用的cpu时间百分比

标准情况下:

r<5 b=0

继续阅读