Linux 中的 vmstat 命令是什么?

sssssssssss

vmstat 命令是“虚拟内存统计”的缩写. 它是一个报告虚拟内存统计信息的工具。 具体来说,它会实时报告有关系统内存、交换和处理器资源利用率、内核线程和磁盘的数据。 Linux 开发人员经常使用此工具来解决与内存相关的问题。

不带任何选项运行 vmstat 命令可提供自系统上次重新引导以来的内存统计摘要。 或者,您也可以使用 vmstat 在固定时间间隔后定期报告内存。 我们将在本教程中了解这一点以及更多内容。

使用 vmstat 命令

首先,我们将查看在没有任何选项的情况下运行 vmstat 命令时的输出。 为此,您必须输入 vmstat 并按回车键。

vmstat 

我知道这是很多参数。 让我们看看它们各自的含义:

  • 过程
    • r: 活动进程的数量。
    • 乙: 处于不间断睡眠状态的进程数。
  • 记忆
    • 开关:系统使用的虚拟内存量。
    • 自由:空闲内存量也称为空闲内存。
    • 浅黄色:用作缓冲区的内存量。
    • 缓存:用作缓存的内存量。
  • 交换
    • 和: 从磁盘换入的内存。 该值表示交换速率(每秒)。 (在)
    • 所以: 内存交换到磁盘。 该值表示交换速率(每秒)。 (出去)
  • 一世
    • 与: 从块设备接收块的速率(块/秒)。
    • 博: 块发送到块设备的速率(块/秒)。
  • 系统
    • 在: 每秒中断数,包括时钟。
    • CS: 调度程序每秒完成的上下文切换次数。
  • CPU – 这些是总 CPU 时间的百分比。
    • 我们: CPU 时间花费在用户进程上的百分比。
    • 他的: CPU 时间花费在内核进程上的百分比。
    • ID: 空闲时间的百分比。
    • 哇: 用于等待 I/O 的 CPU 时间百分比。
    • 英石: 被虚拟机窃取的时间百分比。

1. vmstat 命令带间隔和迭代

要实时获取输出,您可以与 vmstat 一起指定一个时间间隔。 这样做的方法如下:

$ vmstat [DELAY] [ITERATIONS] 
  • 延迟‘ 表示刷新输出之前的时间量。
  • 迭代次数‘ 表示要刷新输出的次数。

默认情况下,如果只提到延迟,则该过程将继续,直到用户终止它。 要终止它,用户需要按 Ctrl + C. 要延迟 1 秒并重复 15 次迭代,命令将如下所示:

$ vmstat 1 15 
虚拟机 15

如果我们不提及迭代值,则输出将如下所示:

$ vmstat 3 
虚拟机 3

这里的输出每 3 秒刷新一次。 要终止,请按 Ctrl + C。通常将此信息存储在文件中很有用。 你可以使用:

$ vmstat 1 5 > vmstat.txt 
vmstat 到文件

2. 使用 vmstat 确定 Fork 的数量

在 Linux 操作系统中,fork 基本上是从正在运行的父进程创建子进程的系统调用。

您可以使用 -F 标志与 vmstat 命令一起显示自系统重新启动以来的总分叉数。 叉子的总数是 , 叉子, 和 克隆 系统调用。

$ vmstat -f 
叉

3. 事件计数器和内存统计

要显示有关内存的其他信息,请将 -s 标志与 vmstat 命令一起使用。 此命令显示各种事件计数器和内存统计信息的表格。

$ vmstat -s 
虚拟机

4. 磁盘统计

与上面的内存统计信息一样,您还可以使用 -D 标志获取有关磁盘活动的信息。

$ vmstat -D 
虚拟机数据

5. 活动和非活动内存

要显示活动和非活动内存代替缓冲区和缓存,请使用 -a 标志和 vmstat 命令。

  • 主动记忆 指的是最近访问过的页面。
  • 非活动内存 指最近未访问的页面。
$ vmstat -a  
虚拟机

6. 改变单位

您可以更改输出中的内存单位。 为此,请使用 -S 标志和 vmstat 命令。 -S 标志后跟以下四个标志之一:

  • – 千字节(1000 字节)
  • – Kibibyte(1024 字节)
  • – 兆字节(1000000 字节)
  • – Mebibyte(1048576 字节)

语法如下:

$ vmstat -S [option]  

在这里,您可以用上面列出的 4 个中的任何一个替换选项。

$ vmstat -S k 
千字节千字节
$ vmstat -S K 
千字节千字节
$ vmstat -S m 
兆字节兆字节
$ vmstat -S M 
字节字节

结论

在本教程中,我们介绍了 vmstat,这是一种用于跟踪系统性能的流行工具。 要了解有关 vmstat 命令的更多信息,请查看其手册页。