Linux性能诊断工具vmstat命令参数详解,及常见异常诊断!

一、vmstat介绍

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值。

常用命令:vmstat 1 5 (每1s展示一下服务器状态,共展示5次)

图片[1] - Linux性能诊断工具vmstat命令参数详解,及常见异常诊断! - 三酷猫笔记

相比top,通过vmstat可以看到整个机器的 CPU,内存,IO的使用情况, 而不是单单看到各个进程的CPU使用率和内存使用率。

二、参数详解

1.进程procs

  • r:在运行队列中等待的进程数 。
  • b:在等待io的进程数 。

2.内存memoy

  • swpd:现时可用的交换内存(单位KB)。
  • free:空闲的内存(单位KB)。
  • buff: 缓冲区中的内存数(单位:KB)。
  • cache:被用来做为高速缓存的内存数(单位:KB)。

3.swap交换页面

  • si: 从磁盘交换到内存的交换页数量,单位:KB/秒。
  • so: 从内存交换到磁盘的交换页数量,单位:KB/秒。

4.io块设备

  • bi: 发送到块设备的块数,单位:块/秒。
  • bo: 从块设备接收到的块数,单位:块/秒。

5.system系统

  • in: 每秒的中断数,包括时钟中断。
  • cs: 每秒的环境(上下文)转换次数。

6.cpu中央处理器

  • us : 用户态代码执行占用的cpu时间。
  • sy :系统态代码执行占用的cpu时间。
  • id : cpu空闲时间,也就是执行系统idle的时间,cpu是不可能停机的。
  • wa : 耗费在等待IO上的时间
  • st : 其他的等待时间。

三、异常诊断

1.常见场景分析

情景1:swpd 大小不断变化,si/so持续变化。 此时说明内存频繁与硬盘进行交换操作,此时系统系能会急剧下降

情景2:id较高但是free 非常低,如果加上-a参数free+inactiv非常低。 此时内存可能被耗尽。

情景3:wa较高 系统等待IO时间过长,考虑IO的阻塞

情景4:假如 bi,bo 长期不等于0,表示物理内存容量太小。

情景5:假如 r 经常大于4 ,且 id 经常小于40,表示中央处理器的负荷很重。

2.其它参数值分析

r:当这个值超过了CPU数目,就会出现CPU瓶颈 了。 这个也和top的负载有关系, 一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。 top的负载类似每秒的运行队 列。 如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。

buff:Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存,我本机大概占用300多M

cache:cache直接用来记忆我们打开的文件,给文件做缓冲, 我本机大概占用300多M (这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存, 是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。)

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享