Linux命令-vmstat
vmstat 命令
vmstat 是一个用于监控系统性能的工具,可以提供有关 CPU、内存和磁盘 I/O 的详细信息。
参数:
参数 描述
-a 显示活动内存(active memory)和非活动内存(inactive memory)
-n 在报告的头部只打印一次命名空间信息
-d 显示磁盘统计信息
-m 显示 slab 分配器信息(内核内存分配情况)
-s 显示系统统计信息,以表格形式显示
-t 在报告的末尾显示时间戳
-p 显示分区统计信息,需要指定分区名称
-i 显示中断统计信息
-S 指定输出单位,可以是 K(KB)、M(MB)、G(GB)等
示例
显示系统默认的统计信息
vmstat
显示活动内存和非活动内存
vmstat -a
显示磁盘统计信息
vmstat -d
显示 slab 分配器信息
vmstat -m
显示系统统计信息
vmstat -s
显示中断统计信息
vmstat -i
显示分区统计信息
vmstat -p /dev/sda1
指定输出单位为 MB
vmstat -S M
显示时间戳
vmstat -t
定期更新统计信息
vmstat 1 5
每秒更新一次,共更新5次。
字段说明
进程信息
r:等待运行的进程数。当这个值超过 CPU 核心数时,可能出现 CPU 瓶颈。
b:处于不可中断睡眠状态的进程数。
内存信息
swpd:已使用的交换空间(单位:KB)。
free:空闲的物理内存量(单位:KB)。
buff:用作缓冲区的内存量(单位:KB)。
cache:用作缓存的内存量(单位:KB)。
交换分区信息
si:从磁盘读取到内存的交换数据量(单位:KB/s)。
so:从内存写入磁盘的交换数据量(单位:KB/s)。
I/O 活动
bi:从块设备读取的数据量(单位:块/秒)。
bo:写入块设备的数据量(单位:块/秒)。
系统信息
in:每秒收到的中断数。
cs:每秒上下文切换的次数。
CPU 使用率
us:用户空间的 CPU 使用率。
sy:内核空间的 CPU 使用率。
id:CPU 空闲时间百分比。
wa:CPU 等待 I/O 操作完成的时间百分比。
st:被其他虚拟机偷走的 CPU 时间(仅在虚拟化环境中)。