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) 或相关文档是很有帮助的。

目录
相关文章
|
3月前
|
监控 Linux BI
Linux命令(128)之vmstat
Linux命令(128)之vmstat
16 1
|
3月前
|
网络协议 Unix Linux
Linux命令(129)之dstat
Linux命令(129)之dstat
17 1
|
11月前
|
Linux Windows
iostat 命令详解
iostat 命令详解
1411 0
|
固态存储
iostat命令
摘要: 一、介绍 iostat用于监视系统IO以及CPU使用情况。 二、安装 sudo apt-get install sysstat 三、语法和选项、参数 语法:iostat [选项] [参数] 选项: -c:仅显示CPU使用情况 -d:仅显示设备IO情况 -k:显示状态以kb/s为单位 -m:显示状态以
172 0

热门文章

最新文章