vmstat命令在linux系统中是专门用于监视系统相关资源的状态,如系统的内存使用情况,进程的相关信息和CPU信息等,可以对系统的整体资源使用情况进行统计,方便用户深入分析。
命令格式:vmstat 参数;参数可以为空;
图1
字段说明procs列表示进程相关信息,包括r和b两列,其中r表示运行中的进程数量,b表示等待IO的进程数量;
memory列显示的是内存的相关信息,包含swpd、free、buff、cache等列,swap表示使用的虚拟内存的大小,free表示可用内存的大小,buff表示用作缓冲区的内存大小,cache表示用作缓存的内存大小。这些信息可以使用free命令查看。
swap列表示系统的交换空间,包含si和so列,si表示每秒从磁盘写入交换空间的数据量,单位为KB,so表示每秒从交换空间读取数据的大小,单位为KB;
io列表示输入输出信息,bi表示每秒读取块设备的数量,bo表示每秒写入块设备的数量;
system列表示系统信息。In表示每秒的中断数量,cs表示系统上下文的切换数量,单位为秒。
cpu列表示系统CPU活动的相关信息;
us表示用户程序使用CPU的百分比;
sy表示系统程序占用CPU的时间百分比;
id表示CPU空闲时间的百分比;
wa表示等待IO操作完成的时间百分比;
st表示控制器虚拟化的时间百分比;
参数说明-a参数:显示所有的信息,默认使用该参数;
-f参数:显示系统从启动开始的fork数量;
-m参数:显示系统内核缓存的信息;如图:
图2
-n参数:头部标题信息只显示一次,不重复显示;
-s参数:显示事件计数器的统计信息;
-d参数:显示磁盘相关信息;
-D参数:显示磁盘活动的统计信息;如图:
图3
-S参数:设置显示信息的单位,如图,支持的单位有k,K,m,M,默认使用的是KIB;
图4