让你轻松学习vmstat命令工具(vmrun 命令)

vmstat(Virtual Memory Statistics)命令是Linux下的一个实用工具,用于查看与虚拟内存、进程、CPU活动等相关的系统活动状态。它能够提供有关系统内存使用情况、磁盘I/O、上下文切换和CPU活动等的概览信息。

常用选项

  • -s:显示内存相关的统计信息(以KB为单位)。
  • -a:显示活动和非活动内存。
  • -d:显示磁盘相关的统计信息。
  • -p:显示分区表的统计信息。
  • -S M:以 MB 为单位显示信息(M 代表 megabytes)。同样,可以使用 K 表示 kilobytes,G 表示 gigabytes。
  • interval [count]:以指定的时间间隔重复显示统计信息,可以指定显示的次数(可选)。

基本用法可直接运行vmstat命令,如下图:

显示的参数解析:

procs:

  • r:等待运行中的进程数(在可运行队列中)。
  • b:被阻塞的进程数(等待I/O)。

memory:

  • swpd:使用的交换内存(KB)。
  • free:空闲的物理内存(KB)。
  • buff:用作缓冲的内存(KB)。
  • cache:用作缓存的内存(KB)。

swap:

  • si:从交换空间(swap space)换入到内存的KB数/秒。
  • so:从内存换出到交换空间(swap space)的KB数/秒。

io:

  • bi:从块设备接收的块数/秒(读取)。
  • bo:发送到块设备的块数/秒(写入)。

system:

  • in:每秒的中断数,包括时钟中断。
  • cs:每秒的上下文切换数。

cpu:

  • us:用户空间占用CPU的百分比。
  • sy:内核空间占用CPU的百分比。
  • id:空闲CPU的百分比。
  • wa:等待I/O的CPU时间百分比。
  • st:被虚拟机偷走的CPU时间百分比(如果有虚拟机在运行)。

如果要2秒更新一次数据可以运行:vmstat 2

总结

vmstat命令的输出通常包括多个部分,每一部分都提供了系统活动的不同视角。在输出的顶部是系统整体的信息,包括物理内存总量、已用内存、交换空间的使用情况以及运行队列中的进程数等。

接下来的部分会展示CPU的使用情况,包括用户态、系统态和空闲态的百分比。再下面是内存和交换空间的详细使用情况,包括页 fault 的次数、内存分配和回收的次数等。

最后,如果有指定磁盘设备,还会展示每个设备的读写次数、合并的读写请求以及相关的时间消耗。

这些信息对于评估系统资源使用情况、识别瓶颈和调试系统问题非常有帮助。

原文链接:,转发请注明来源!