在 Linux 系统运维和性能调优中,了解系统的资源使用情况至关重要。其中,Ubuntu vmstat命令 是一个轻量级但功能强大的工具,用于实时监控系统的 虚拟内存统计、CPU 使用率、I/O 活动等关键指标。本文将带你从零开始,手把手教你如何使用 vmstat 命令,即使是 Linux 新手也能轻松掌握。

vmstat(Virtual Memory Statistics 的缩写)是 Linux 系统自带的一个命令行工具,用于报告有关进程、内存、分页、块 I/O、陷阱和 CPU 活动的信息。它不需要安装额外软件,在 Ubuntu 及其他主流发行版中默认可用。
通过 vmstat,你可以快速判断系统是否存在内存瓶颈、CPU 过载或磁盘 I/O 延迟等问题,是进行 系统性能监控 的基础工具之一。
vmstat 的基本用法如下:
vmstat [选项] [延迟 [次数]]直接运行 vmstat 不带参数,会显示自系统启动以来的平均值:
$ vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 123456 78910 234567 0 0 12 20 50 100 5 2 93 0 0$ vmstat 2 5这在观察系统在高负载下的行为时非常有用。
理解 vmstat 输出的每一列含义是使用它的关键:
r:等待运行的进程数(就绪队列长度)。如果持续大于 CPU 核心数,说明 CPU 可能过载。b:处于不可中断睡眠状态的进程数(通常在等待 I/O)。swpd:使用的虚拟内存(swap)大小。free:空闲物理内存。buff:用作缓冲区的内存(用于块设备 I/O)。cache:用作缓存的内存(用于文件系统)。si:每秒从磁盘换入到内存的数据量(swap in)。so:每秒从内存换出到磁盘的数据量(swap out)。若 so 持续 > 0,说明物理内存不足。bi:每秒从块设备读入的块数。bo:每秒写入块设备的块数。in:每秒中断次数。cs:每秒上下文切换次数。us:用户态 CPU 使用率。sy:内核态 CPU 使用率。id:CPU 空闲时间百分比。wa:等待 I/O 完成的时间(I/O 等待)。若较高,说明磁盘可能是瓶颈。st:被虚拟机偷走的时间(仅在虚拟化环境中出现)。watch 命令实时刷新:$ watch -n 1 'vmstat 1 2' free -h 或 top 使用。wa(I/O 等待)和 so(swap out),它们往往是系统瓶颈的信号。vmstat 是一个简单却极其有用的工具,特别适合用于快速诊断 Linux内存管理 和整体系统健康状况。通过本文的学习,你应该已经掌握了如何使用 vmstat 查看 虚拟内存统计、分析 CPU 和 I/O 负载,并能初步判断系统是否存在性能瓶颈。
记住,Ubuntu vmstat命令 虽小,却是系统管理员日常 系统性能监控 工具箱中的必备利器。多加练习,你就能像老手一样快速定位问题!
本文由主机测评网于2025-12-15发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127893.html