vmstat命令

1、概要

  • Virtual Meomory Statistics,报告虚拟内存统计信息
  • 会统计进程信息、内存、交换区、IO、磁盘、CPU 等数据

2、vmstat主要能看什么性能指标

  • 均是 Linux 系统级别
  • 运行状态、不可中断睡眠状态的进程数量
  • 内存、交换区、I/O、CPU 信息
  • 上下文切换次数、中断次数
  • 磁盘 I/O 的详细信息和概要信息

 3、语法格式

vmstat [options] [delay [count]]

options:命令行参数,可选 delay:间隔多久统计一次数据,可选 count:统计一次,可选 注意:若只传了 delay,则统计次数是无限次,结束统计后会打印本次所有数据的平均值

命令行参数

-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量 。
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
-d:显示磁盘相关统计信息。
-D:获取磁盘的一些摘要信息
-p:显示指定磁盘分区统计信息 -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、10241000000、1048576字节(byte)。默认单位为K(1024 bytes)
-t:加一列显示当前时间
-V:显示vmstat版本信息。
-h:帮助文档

4、统计数据的字段说明

 

类别

项目

含义

说明

Procs

r

等待执行的进程数量

展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了

 

b

 处于不可中断睡眠状态的进程数量

 

Memory

swpd

正在使用的swap大小单位K

 

 

free

空闲的内存空间

 

 

buff

已使用的buff大小,对块设备的读写进行缓冲

 

 

cache

已使用的cache大小,文件系统的cache

 

 

inact

 非活跃内存大小(当使用-a选项时显示)

 

 

active

 活跃的内存大小(当使用-a选项时显示)

 

Swap

si

交换内存使用,由磁盘调入内存

 

 

so

交换内存使用,由内存调入磁盘

 

IO

bi

从块设备读入的数据总量(读磁盘) (KB/s),

 

 

bo

写入到块设备的数据总理(写磁盘) (KB/s)

 

System

in

每秒产生的中断次数

 

 

cs

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

上面这2个值越大,会看到由内核消耗的CPU时间会越多

CPU

us

用户进程消耗的CPU时间百分比

us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了

 

sy

内核进程消耗的CPU时间百分比

sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。

 

id

空闲

 

 

wa

IO等待消耗的CPU时间百分比

wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。

5、数据来源说明

主要来自如下文件:
/proc/meminfo
/proc/stat
/proc/*/stat

1)这些信息主要来自 /proc/stat

2)这些信息的分别来自于 /proc/meminfo 、 /proc/stat 和 /proc/vmstat

 3)这些信息主要来自于 /proc/diskstats 

 

这些信息的分别来自于 /proc/meminfo 、 /proc/stat 和 /proc/vmstat

原文地址:https://www.cnblogs.com/uestc2007/p/14596967.html