vmstat 命令
基本介绍
vmstat命令用于显示系统的虚拟内存状态,包括进程、内存、分页、IO、CPU 等系统资源的使用情况。它是 Linux 系统中常用的系统监控工具之一。
资料合集:https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.cn/s/561de99256a5、https://pan.quark.cn/s/985f55b13d94、https://pan.quark.cn/s/d0fb20abd19a
语法
vmstat [选项] [延迟 [计数]]常用选项
-a, --active:显示活跃和非活跃内存-f, --forks:显示从系统启动至今的 fork 次数-m, --slabs:显示 slab 信息-n, --one-header:只显示一次头部信息-s, --stats:显示事件计数器和内存统计信息-d, --disk:显示磁盘统计信息-D, --disk-summery:显示磁盘统计摘要-p, --partition <分区>:显示指定分区的统计信息-S, --unit <单位>:指定显示单位(k, K, m, M)-t, --timestamp:显示时间戳--help:显示帮助信息--version:显示版本信息
使用示例
1. 显示系统内存状态
vmstat2. 每 1 秒显示一次,共显示 5 次
vmstat153. 显示活跃和非活跃内存
vmstat-a4. 显示从系统启动至今的 fork 次数
vmstat-f5. 显示 slab 信息
vmstat-m6. 只显示一次头部信息
vmstat-n157. 显示事件计数器和内存统计信息
vmstat-s8. 显示磁盘统计信息
vmstat-d9. 显示磁盘统计摘要
vmstat-D10. 显示指定分区的统计信息
vmstat-p/dev/sda111. 指定显示单位为 MB
vmstat-SM12. 显示时间戳
vmstat-t15输出格式说明
vmstat命令的输出包括以下列:
procs:
- r:等待运行的进程数
- b:处于不可中断睡眠状态的进程数
memory:
- swpd:已使用的交换空间大小
- free:空闲内存大小
- buff:用于缓冲区的内存大小
- cache:用于缓存的内存大小
swap:
- si:从交换区读入内存的数据速率(KB/秒)
- so:从内存写入交换区的数据速率(KB/秒)
io:
- bi:从块设备读入的数据速率(块/秒)
- bo:写入块设备的数据速率(块/秒)
system:
- in:每秒中断数
- cs:每秒上下文切换数
cpu:
- us:用户空间占用 CPU 时间的百分比
- sy:系统空间占用 CPU 时间的百分比
- id:空闲 CPU 时间的百分比
- wa:等待 IO 占用 CPU 时间的百分比
- st:被虚拟机偷取的 CPU 时间的百分比
相关命令
top:动态显示系统资源使用情况htop:交互式进程查看器iostat:显示 IO 统计信息mpstat:显示 CPU 统计信息sar:系统活动报告free:显示内存使用情况
注意事项
vmstat命令不需要 root 权限- 可以通过调整延迟和计数参数来监控系统的实时状态
- 在分析系统性能问题时,
vmstat命令是一个非常有用的工具 - 可以使用
man vmstat查看完整的命令手册
总结
vmstat命令是 Linux 系统中用于监控系统虚拟内存状态的实用工具,它可以显示进程、内存、分页、IO、CPU 等系统资源的使用情况。通过vmstat命令,用户可以快速了解系统的运行状态,对于系统性能分析和故障排查非常有帮助。