当前位置:首页 > Centos > 正文

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

在 Linux 系统管理中,了解系统的运行状态至关重要。特别是在 CentOS 这类企业级服务器操作系统上,掌握如何监控系统资源使用情况是每个运维人员的基本功。本文将带你从零开始学习 Centos vmstat命令,深入理解虚拟内存统计的含义,并学会如何利用它进行Linux性能监控系统资源分析

Centos vmstat命令详解(虚拟内存统计与系统性能监控入门指南) vmstat命令 虚拟内存统计 Linux性能监控 系统资源分析 第1张

什么是 vmstat?

vmstat(Virtual Memory Statistics)是 Linux 系统中一个轻量级但功能强大的命令行工具,用于报告有关进程、内存、分页、块 I/O、陷阱和 CPU 活动的信息。它可以帮助你快速判断系统是否存在性能瓶颈,比如内存不足、磁盘 I/O 过高或 CPU 负载过大等问题。

安装 vmstat(通常已预装)

在大多数 CentOS 系统中,vmstat 已经包含在 procps-ng 软件包中,一般默认安装。如果未安装,可通过以下命令安装:

sudo yum install procps-ng -y

基本语法

vmstat 的基本用法如下:

vmstat [delay [count]]
  • delay:两次采样之间的间隔时间(秒)
  • count:采样的总次数(可选)

实战示例

执行以下命令,每 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 456789    0    0    10    20  100 200  5  2 92  1  0 0  0      0 123000  78900 456800    0    0     0     0  102 205  4  1 95  0  0 0  0      0 122800  78900 456820    0    0     0     0  101 203  3  2 95  0  0 1  0      0 122500  78900 456850    0    0     0     0  103 207  6  3 91  0  0 0  0      0 122700  78900 456830    0    0     0     0  100 200  4  2 94  0  0

字段详解

1. procs(进程相关)

  • r:等待运行的进程数(就绪队列长度)。若持续大于 CPU 核心数,说明 CPU 可能过载。
  • b:处于不可中断睡眠状态的进程数(通常因等待 I/O)。

2. memory(内存使用)

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

3. swap(交换分区活动)

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

如果 siso 持续大于 0,说明系统内存不足,频繁使用 swap,性能会显著下降。

4. io(磁盘 I/O)

  • bi:从块设备读入的数据量(blocks/s)。
  • bo:写入块设备的数据量(blocks/s)。

5. system(系统中断与上下文切换)

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

6. cpu(CPU 使用情况)

  • us:用户空间占用 CPU 百分比。
  • sy:内核空间占用 CPU 百分比。
  • id:CPU 空闲百分比。
  • wa:等待 I/O 完成的 CPU 时间百分比。若此值高,说明磁盘可能是瓶颈。
  • st:被虚拟机偷取的时间(仅在虚拟化环境中有效)。

常见使用技巧

1. 实时监控(无限循环)

vmstat 1

按 Ctrl+C 停止。

2. 查看启动以来的平均值(不带参数)

vmstat

这会显示自系统启动以来的平均统计值,适合快速概览。

总结

通过本文,你应该已经掌握了 Centos vmstat命令 的基本用法,并理解了如何通过虚拟内存统计来分析系统性能。无论是排查内存泄漏、识别 I/O 瓶颈,还是监控 CPU 负载,vmstat 都是一个不可或缺的工具。结合其他命令如 topiostatfree,你可以构建完整的 Linux性能监控体系,实现高效的系统资源分析

建议在实际环境中多加练习,观察不同负载下的 vmstat 输出变化,逐步提升你的系统诊断能力!