# vmstat 命令
# 简介
vmstat命令用于报告虚拟内存统计信息,包括进程、内存、分页、块IO、中断和CPU活动的统计数据。
# 语法
vmstat [选项] [延时 [次数]]
# 常用选项
-a
:显示活跃和非活跃内存-f
:显示从系统启动至今的fork数量-m
:显示内存管理器信息-n
:显示一次头部信息-s
:显示内存统计和事件计数器-d
:显示磁盘统计信息-p
:显示指定分区统计信息-S
:使用指定单位显示
# 输出字段说明
Procs(进程)
- r:运行队列中的进程数
- b:等待IO的进程数
Memory(内存)
- swpd:使用的虚拟内存大小
- free:空闲内存大小
- buff:用作缓冲的内存大小
- cache:用作缓存的内存大小
Swap
- si:每秒从交换区写入内存的大小
- so:每秒写入交换区的内存大小
IO
- bi:每秒读取的块数
- bo:每秒写入的块数
System
- in:每秒中断数
- cs:每秒上下文切换数
CPU
- us:用户进程执行时间
- sy:系统进程执行时间
- id:空闲时间
- wa:等待IO时间
# 使用示例
# 基本使用
vmstat
# 每2秒更新一次,共5次
vmstat 2 5
# 显示内存统计信息
vmstat -s
# 显示磁盘统计信息
vmstat -d
# 显示指定分区统计信息
vmstat -p /dev/sda1
# 显示活跃和非活跃内存
vmstat -a
# 最佳实践
系统监控
- 定期检查系统状态
- 关注异常指标变化
- 建立基线数据
性能优化
- 分析系统瓶颈
- 优化内存使用
- 调整系统参数
故障诊断
- 收集故障时的统计数据
- 分析性能问题原因
- 评估系统健康状况
# 注意事项
- 理解各项指标的含义
- 注意数据的单位换算
- 结合其他工具综合分析
- 考虑系统负载变化
- 定期备份基线数据