vmstat命令详解

简介: `vmstat` 是类 Unix 系统的监控工具,显示虚拟内存、物理内存、CPU、I/O 和系统中断等资源使用情况。基本用法是 `vmstat [interval [count]]`,可按指定时间间隔输出系统状态。主要字段包括进程(r/b)、内存(swpd/free/buff/cache)、交换(si/so)、I/O(bi/bo)、系统(in/cs)和CPU(us/sy/id/wa/st)的统计。使用 `-s`, `-a`, `-m`, `-d`, `-p` 等选项可获取不同类型的统计信息。详细信息可通过 `man vmstat` 查看。

vmstat 是一个在类 Unix 操作系统(包括 Linux 和 BSD 系统)中广泛使用的系统监视工具,它的全称是 Virtual Memory Statistics(虚拟内存统计)。这个命令主要用于报告和分析系统的虚拟内存、物理内存、CPU、块 I/O 设备以及系统中断等核心资源的使用状况。

基本用法和选项:

  • vmstat [interval [count]]
    • 不加参数时,vmstat 显示系统启动以来的累计统计信息。
    • interval 表示两次报告之间的时间间隔(单位通常是秒),如果指定了这个参数,vmstat 将会每隔指定的时间间隔输出一次系统状态。
    • count 表示要输出多少次报告后停止,默认情况下不指定将一直输出直到手动停止。

主要输出字段含义:

  1. Procs(进程)

    • r: 运行队列中的进程数,即正在等待 CPU 时间片的进程数量。
    • b: 处于不可中断睡眠状态的进程数(通常是在等待 I/O 完成)。
  2. Memory(内存)

    • swpd: 虚拟内存中被换出到交换空间的总量。
    • free: 可供立即使用的物理内存大小。
    • buff: 作为缓冲区使用的内存大小。
    • cache: 作为缓存使用的内存大小。
  3. Swap

    • si: 每秒从交换空间中换入到内存的大小。
    • so: 每秒从内存换出到交换空间的大小。
  4. IO(输入输出)

    • bi: 每秒从块设备接收的块数。
    • bo: 每秒发送到块设备的块数。
  5. System(系统)

    • in: 每秒产生的中断次数。
    • cs: 每秒产生的上下文切换次数。
  6. CPU(中央处理器)

    • us: 用户进程消耗 CPU 时间的百分比。
    • sy: 内核进程(系统)消耗 CPU 时间的百分比。
    • id: 空闲 CPU 百分比。
    • wa: 等待 I/O 完成所消耗的 CPU 时间百分比(高数值表明可能有严重的 I/O 瓶颈)。
    • st: 虚拟机在等待 hypervisor 分配 CPU 时间片的百分比(仅在虚拟环境中有效)。

除此之外,vmstat 还提供了其他选项:

  • -s-vmstat -s: 显示所有统计信息的总结,而不是连续更新。
  • -a: 显示活跃和非活跃内存的数量。
  • -m: 显示 slab 分配器的统计信息。
  • -d: 显示磁盘统计信息。
  • -p [disk partition]: 显示指定磁盘分区的统计信息。
  • -n: 忽略头部标题,对于脚本处理或连续输出更有利。

为了更深入地了解 vmstat 的功能和具体用例,查阅手册页 (man vmstat) 或相关文档是很有帮助的。

目录
相关文章
|
存储 关系型数据库 MySQL
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
|
开发工具 数据安全/隐私保护 git
Git报错:remote: HTTP Basic: Access denied的解决方法
Git报错:remote: HTTP Basic: Access denied的解决方法
3582 0
Git报错:remote: HTTP Basic: Access denied的解决方法
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
273451 0
|
4月前
|
安全 Java API
Spring Boot 4 升级实战:从3.x到4.0的分步升级保姆级指南
Spring Boot 4.0于2025年11月发布,基于Spring Framework 7.0,实现模块化(47个轻量自动配置)、JSpecify空安全校验、原生API版本控制等重大升级。镜像减19%、启动快33%,迁移平滑,3.5.x支持至2026年11月。(239字)
4778 1
|
10月前
|
Shell 测试技术 API
Claude Code 官方内部团队最佳实践!
Immerse,独立开发者、内容创作者、AGI实践者,分享编程、AI、开源等内容。关注公众号“沉浸式趣谈”及个人网站获取更新。欢迎点赞、评论、转发支持!本文介绍Claude Code——智能编程命令行工具及其使用技巧。
7886 0
|
存储 前端开发 数据可视化
Grafana Loki,轻量级日志系统
本文介绍了基于Grafana、Loki和Alloy构建的轻量级日志系统。Loki是一个由Grafana Labs开发的日志聚合系统,具备高可用性和多租户支持,专注于日志而非指标,通过标签索引而非内容索引实现高效存储。Alloy则是用于收集和转发日志至Loki的强大工具。文章详细描述了系统的架构、组件及其工作流程,并提供了快速搭建指南,包括准备步骤、部署命令及验证方法。此外,还展示了如何使用Grafana查看日志,以及一些基本的LogQL查询示例。最后,作者探讨了Loki架构的独特之处,提出了“巨型单体模块化”的概念,即一个应用既可单体部署也可分布式部署,整体协同实现全部功能。
5775 70
Grafana Loki,轻量级日志系统
|
11月前
|
Prometheus Kubernetes 监控
Kubernetes(k8s)高可用性集群的构建详细步骤
构建高可用Kubernetes集群涉及到的层面非常广泛,包括硬件资源的配置、网络配置以及集群维护策略的规划。因此,在实际操作中,可能还需要根据特定环境和业务需求进行调整和优化。
2592 19
|
存储 Linux 持续交付
史上最全 Terraform 入门教程,助你无坑入门!
【10月更文挑战第26天】这是一个全面的 Terraform 入门教程,涵盖了 Terraform 的基本概念、安装步骤、基础配置、变量和输出变量的使用、模块的定义与使用,以及状态管理。通过实例讲解如何创建本地文件资源和 AWS S3 桶,帮助初学者快速上手并掌握 Terraform 的核心功能。
4281 8

热门文章

最新文章