Linux vmstat 命令初学者教程
如果您一直在寻找可以帮助您分析系统性能和资源使用情况的命令行工具,那么不用再犹豫了:vmstat 就是您想要的工具。
本教程将通过快速简单的示例介绍使用 vmstat 工具监控系统性能的基础知识。尽管使用的 Linux 发行版对于本指南来说并不重要,但值得注意的是我们在 Debian 10.06 系统上对其进行了测试。
vmstat简介?
Vmstat 是一个命令行工具,用于监视和报告系统上的资源使用情况。它监视系统资源的使用情况,例如系统内存、处理器和交换区。
它提供实时数据报告,可以帮助系统管理员和 Linux 故障排除人员快速轻松地确定系统中性能问题和高内存使用率的原因。
如何使用 vmstat
要使用 vmstat 工具,请在终端中执行命令 vmstat。您将得到类似于下图所示的输出:
使用不带参数的 vmstat 命令可输出自上次系统重新启动以来系统资源使用情况的平均视图。要过滤精确信息,请使用以下命令:
使用上述语法后,vmstat 会报告自上次重新引导以来的平均系统使用情况,直到达到计数值。例如,如果计数值为10,vmstat将显示系统信息使用情况10次。该命令还指定 vmstat 应在每个间隔值(以秒为单位)报告数据。
vmstat使用
根据您正在诊断的信息或问题类型,您通常会以较小的间隔值运行 vmstat。考虑以下 vmstat 输出。每2秒报告一次,共15次。
您还可以执行不带 count 参数的 vmstat 命令。这样做将在指定的时间间隔内实时提供当前系统使用情况报告。
例如:
将 vmstat 的报告输出到日志文件以便稍后读取和分析是更好的选择。要停止正在运行的 vmstat 会话,请按 CTRL + C 键。
默认情况下,vmstat 将以千字节为单位显示内存报告,其中单个千字节相当于 1024 字节。要将 vmstat 配置为使用 1 KB 作为 1000 字节,请使用以下命令:
如果您想使用兆字节来显示内存大小,请使用 -S m 参数,Vmstat 将报告 1 兆字节相当于 1000 千字节。
了解 vmstat 输出
正如我们提到的,vmstat 报告最新的系统状态。它提供有关系统状况的有用信息,有助于解决性能问题。
鉴于此,了解 vmstat 的输出代表什么非常重要。
Vmstat 将输出信息按列分组。这些列包含取决于指定命令的相关信息。以下是 vmstat 输出中的一些列。
1:过程栏
procs 表表示队列中作业的数量(等待运行的作业)。此列可以帮助您确定阻止系统执行其他作业的进程。
在 procs 列中,您将找到 r 和 b 列。这些显示等待进入处理器的进程总数以及处于睡眠状态的函数总数。
大多数情况下,b 列中的值为 0。
2:内存栏
内存列显示有关系统中可用内存和已用内存总量的信息。此输出类似于 free 命令。在 Memory 列下,还有其他四列:
交换
自由的
浅黄色
缓存
交换或已交换选项卡显示已交换(交换)到交换文件或交换分区中的内存量。
在空闲列中,您将找到有关未使用内存量的信息。 (未分配的内存)。
缓冲区列显示有关正在使用的内存量的信息。 (分配的内存)。
最后,在缓存列中,您将找到有关已分配内存的信息,如果需要资源,这些信息可以交换到磁盘。
3:交换列
接下来,我们使用交换列来报告内存与交换文件或分区交换的速度。
使用交换和总磁盘活动,vmstat 允许您计算磁盘活动与交换系统的关系。
在 swap 列中,您还会发现 si 和 columns 用于显示每秒从 swap 转移到主内存的内存量以及每秒从主内存移动到 swap 的内存量。
4:输入/输出列
在下一栏中,您将找到有关系统输入和输出操作的信息,以每个块的读取和写入表示。 I/O 列下面是 bi 和 bo 列,分别表示每秒从磁盘接收的块数和每秒发送到磁盘的块数。
5:系统栏
系统列显示每秒系统进程总数的信息。 System 列多了两列,即 in 和 cs。第一列显示每秒的系统中断(包括系统时钟中断)。 cs 列表示系统为成功处理所有任务而进行的上下文切换次数。
6:CPU栏
最后一列是 CPU。该栏显示CPU资源使用情况。 CPU 列下面有四个主要列。
我们
SV
ID
佤族
第一列 (us) 表示处理器在用户创建的任务上使用的总时间量。
下一列 (sv) 显示与处理器在内核进程上使用的时间相关的信息。
id 列显示处理器处于空闲状态的时间量。
最后,(wa) 列显示处理器等待 I/O 操作所用的总时间。
将 CPU 列中的所有值相加总计为 100,表示可用时间的百分比。
结论
在本教程中,我们学习了如何使用 vmstat,一个用于报告系统资源使用情况的工具。我们还介绍了它的工作原理以及如何查询特定信息。我们还讨论了如何理解 vmstat 输出并使用它来解决系统资源问题。