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