随笔 - 6  文章 - 124  评论 - 1  阅读 - 13042

Linux 下使用vmstat监控系统性能

简介

Linux 中的 vmstat(虚拟内存统计)命令用于监控系统性能,包括CPU使用情况、内存使用情况、交换活动、磁盘I/O和系统进程。它提供实时性能指标,有助于诊断系统瓶颈。

基础语法

vmstat [options] [delay] [count]
  • delay:更新之间的间隔(以秒为单位)

  • count:命令在停止之前运行的次数

示例用法

不带参数运行 vmstat

这将显示一份包含自上次重启以来的系统统计信息的报告

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  50000  12000 800000    0    0     3     5  120  300  5  2 90  3  0
 0  0       0  51000  11500 805000    0    0     2     4  115  290  4  1 94  1  0

字段解释

  • Process:procs

    • r:正在运行的进程数
    • b:处于不可中断睡眠状态的进程数
  • Memory:memory

    • swpd:使用的交换内存(KB)
    • free:可用内存 (KB)
    • buff:缓冲内存 (KB)
    • cache:缓存内存 (KB)
  • Swap:swap

    • si:换入内存(KB/秒)
    • so:换出内存(KB/秒)
  • I/O:io

    • bi:从块设备接收的块(KB/s)
    • bo:发送到块设备的块数(KB/s)
  • System:system

    • in:每秒中断的次数
    • cs:每秒上下文切换的次数
  • CPU:cpu

    • us:用户 CPU 使用率百分比
    • sy:系统(内核)CPU 使用率百分比
    • id:空闲 CPU 百分比
    • wa:等待 I/O 的 CPU 百分比
    • st:虚拟机管理程序窃取的 CPU 百分比(仅与虚拟化环境相关)

实时监控系统性能

每 1 秒更新一次,无限期

vmstat 1

限制报告数量

每2秒更新一次,运行5次

vmstat 2 5

以兆字节而不是千字节显示

使用 -S M 以兆字节为单位显示值

vmstat -S M 1 5

监视磁盘活动

显示磁盘 I/O 统计信息

vmstat -d

显示详细的 CPU 统计信息

显示各种系统统计信息的摘要

vmstat -s

监控 NUMA(非统一内存访问)节点

显示活动和非活动内存

vmstat -a

与其他工具的比较

命令 特性
top 每个进程的实时 CPU 和内存使用情况
htop top的交互式版本
iostat 详细的磁盘 I/O 统计信息
free 内存使用情况详细信息
sar 高级系统性能监控
posted on   我是唐青枫  阅读(8)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示