【性能监控命令_01】vmstat
vmstat 命令
这个命令比较强大,先来看执行结果
字段解析
r :第一列的监控数据 ,表示目前实际在运行在队列,通熟一点就是还有多少任务在等待CPU来执行,从上图看出r列下面都是0,所以当前这台服务器上暂时还没任务运行。若r列这个值,超过了CPU的核数,就表示当前CPU可能存在瓶颈 ,当然在判断时,还要结合,后面cpu那一列来看。
b:第二列的监控数据 ,表示目前因等待资源而阻塞的指令个数,一般为等待IO资源,当然还有其它比如内存、CPU等。
内存
swpd :第三列的数据,表示虚拟内存已使用的大小,一 般这个值都是0 ,要是不是0,也不一定表示物理内存不够用了,要结合si 、so这两个值一起不分析,要是si和so值都还是0 ,那么当前物理内存就还是够的。
free : 第四列的数据,表示空闲的物理内存大小,单位k 这里这个可不包含buff 、cache的
buff : 第五列的数据 ,表示系统缓冲区的大小,单位k ,一般内存大的服务器,buff也比较大,读写的缓冲区
cache:第六列数据 ,表示用来给已打开的文件做为缓存的内存大小,cache用来缓存我们打开的文件,是把空闲的内存的一部件用来做文件和目录的缓存。提高程序执行性能,当free不足的时候,cache就会释放出来。
si :这个是第七列的数据 ,表示每秒从磁盘(swpd)中读到内存的中数据大小,该值一般等于0,长期大于0,可能内存不够用了
so: 这个是第八列数据,表示每秒从内存中写到swpd或磁盘中的数据大小,和si相反
bi:第九列的数据,设备每秒读取的块的数量,这个块指的是,磁盘或其它设备,默认块大小1254Byte
bo:第十列的数据 ,每秒写入块的数量,往磁盘中写,在随机磁盘读写时,bi和bo这个两个值越大,则CPU在等IO的值也会越大
CPU
in:第十一列的数据,表示每秒CPU的中断次数
cs:第十二列的数据。表示CPU的上下切换次数,
us :第十三列数据,用户模式cpu使用的百分比,起高,说明cpu利用的越好
sy:第十四列数据,内核进行执行时间的百分比,sy高不是一个好的现象,通常in cs 和I/O的频繁操作会引起sy高,
id:第十五列数据,cpu空闲占比
wa:第十六列数据,这个值,要关注下,表示CPU等待I/O资源的时间占比 ,wa 高说明io等待比较严重
st:第十七列数据,表示 cpu等待虚拟机调度的时间占比。