vmstat
是Linux系统中的一个命令行工具,它用于报告虚拟内存、进程、CPU活动以及IO统计信息。这个命令可以提供关于系统的实时性能指标或者从系统启动以来的累计统计数据。
基本用法:
vmstat [options] [interval [count]]
选项:
-a
: 显示活跃(active)和非活跃(inactive)内存页面的数量。-s
: 输出自从系统启动以来的总体统计信息。-m
: 报告关于 slab 分配器的统计信息。-d
: 显示磁盘统计信息(每块设备的读写操作数)。-p <disk partition>
: 只显示指定磁盘分区的统计信息。-n
: 不打印头标题。-f
: 显示自系统启动以来的fork数量。-t
: 在输出中包含时间戳。-w
: 宽格式输出。-S unit
: 指定单位大小,例如K, M 或 G,用于内存大小的显示。-V
: 打印版本信息并退出。
参数:
interval
: 如果提供了此参数,vmstat
会每隔interval
秒输出一次统计信息。count
: 如果同时提供了interval
和count
,则vmstat
将连续输出count
次统计信息后停止。
例如:
# 每隔2秒输出一次系统状态
vmstat 2
# 输出当前系统的所有统计信息(不包括后续更新)
vmstat -s
# 每隔5秒输出一次磁盘I/O统计,并且只输出3次
vmstat -d 5 3
vmstat
输出的信息通常包括以下几个部分:
- 系统整体状态:包括运行队列(r)、空闲进程数(b)、等待输入输出的进程数等。
- 内存使用情况:包括总内存、已使用的物理内存、交换空间等。
- 虚拟内存统计:如页入/页出次数、无用页清除次数等。
- CPU使用率:用户模式、系统模式、空闲时间百分比等。
- I/O块设备统计(如果启用-d选项)。
通过分析这些输出数据,管理员可以了解系统负载、内存压力、磁盘活动等情况,从而对系统性能进行评估或故障排查。