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
如果我们不提及迭代值,则输出将如下所示:
$ vmstat 3
这里的输出每 3 秒刷新一次。 要终止,请按 Ctrl + C。通常将此信息存储在文件中很有用。 你可以使用:
$ vmstat 1 5 > vmstat.txt
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 命令的更多信息,请查看其手册页。