Ubuntu vmstat命令详解(虚拟内存统计与系统性能监控入门指南)

来源:这里教程网 时间:2026-03-28 11:58:40 作者:

在 Linux 系统管理中,了解系统的资源使用情况至关重要。对于 Ubuntu 用户来说,vmstat 是一个非常实用的命令行工具,用于实时监控系统的虚拟内存统计、CPU 使用率、I/O 活动等关键性能指标。本文将手把手教你如何使用

vmstat
命令,即使是 Linux 新手也能轻松掌握。

什么是 vmstat?

vmstat
(Virtual Memory Statistics 的缩写)是 Linux 系统内置的一个轻量级监控工具,它能报告关于进程、内存、分页、块 I/O、陷阱和 CPU 活动的信息。通过定期采样,你可以观察系统在一段时间内的运行状态,从而判断是否存在性能瓶颈。

安装 vmstat(通常已预装)

在大多数 Ubuntu 系统中,

vmstat
已经包含在
procps
软件包中,无需额外安装。但如果你发现系统没有该命令,可以通过以下命令安装:

sudo apt updatesudo apt install procps

基本语法

vmstat
的基本用法如下:

vmstat [delay [count]] delay:两次采样之间的间隔时间(秒)。 count:采样的总次数。如果不指定,则持续运行直到手动终止(Ctrl+C)。

示例:实时监控系统状态

下面是一个常见的用法:每 2 秒采集一次数据,共采集 5 次:

vmstat 2 5

执行后,你会看到类似如下的输出:

procs -----------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 78900 234567 0 0 12 20 50 100 5 2 92 1 0 0 0 0 123000 78920 234600 0 0 0 8 48 98 4 1 95 0 0 ...

输出字段详解

理解每一列的含义是使用

vmstat
的关键:

1. 进程(procs)

r:等待运行的进程数(就绪队列长度)。 b:处于不可中断睡眠状态的进程数(通常在等待 I/O)。

2. 内存(memory)

swpd:使用的虚拟内存(swap)大小(KB)。 free:空闲物理内存(KB)。 buff:用作缓冲区的内存(KB)。 cache:用作缓存的内存(KB)。

3. Swap(交换)

si:从磁盘换入内存的数据量(KB/s)。 so:从内存换出到磁盘的数据量(KB/s)。

4. I/O(输入/输出)

bi:从块设备读入的数据块数(每秒)。 bo:写入块设备的数据块数(每秒)。

5. 系统(system)

in:每秒中断次数。 cs:每秒上下文切换次数。

6. CPU(处理器)

us:用户空间占用 CPU 百分比。 sy:内核空间占用 CPU 百分比。 id:CPU 空闲百分比。 wa:等待 I/O 完成的 CPU 时间百分比。 st:被虚拟机偷取的时间(仅在虚拟化环境中显著)。

常见使用场景

- 排查高负载问题:如果

r
列数值长期大于 CPU 核心数,说明系统过载。

- 检测内存不足:如果

free
很小,且
si/so
非零,说明系统频繁使用 swap,可能内存不足。

- 识别 I/O 瓶颈:如果

wa
(I/O wait)很高,说明 CPU 在等待磁盘响应,可能是磁盘性能瓶颈。

总结

vmstat
是 Ubuntu 和其他 Linux 发行版中不可或缺的系统性能监控工具。通过它,你可以快速获取关于Linux内存管理和整体系统健康状况的关键信息。掌握这个命令,不仅能帮助你优化服务器性能,还能在故障排查时提供有力支持。

希望这篇教程能让你对 Ubuntu vmstat命令虚拟内存统计 有清晰的理解。快在你的终端中试试吧!

相关推荐

热文推荐