Linux发行版提供了许多工具来监视系统性能。 vmstat
是系统性能监视最常用的工具之一。 vmstat
能够详细收集和报告内存、cpu、交换、io等信息。在本教程中,我们将检查 vmstat
以及它的不同特点和选择。
列出系统资源使用情况
我们先用 vmstat
不带任何选项的命令。这将列出有关系统资源使用情况的常规统计信息和信息。
$ vmstat

我们可以看到有5个主栏。
-
procs
显示有关进程的信息。 -
memory
显示有关内存度量的信息-
swpd
提供可用的交换大小 -
free
提供未使用的内存大小 -
buff
提供缓冲内存大小 -
cache
提供缓存内存大小
-
-
swap
提供与交换相关的信息,但在现在它没有被广泛使用。 -
io
提供与磁盘相关的信息-
bi
块输入显示从块设备读取的数据块计数 -
bo
块输出显示发送到块设备的块计数
-
-
system
提供与CPU相关的中断和上下文切换信息-
in
每秒中断数 -
cs
每秒上下文切换数
-
-
cpu
提供CPU使用信息-
us
用户空间操作或用户时间所花费的时间 -
id
空闲时间 -
sy
系统操作所花费的时间 -
wa
等待IO的时间。 -
st
从虚拟机花费的时间
-
以交互方式按指定间隔打印输出
默认情况下 vmstat
命令是非交互的。它只会在调用后打印一次信息,然后退出。如果我们需要连续打印命令并以给定的间隔打印命令输出,我们需要在命令后以秒为单位提供间隔。在本例中,我们将以5秒的间隔打印。
$ vmstat 5

打印时间戳
由于输出打印一次或多次,我们可能需要知道相关时间。我们可以通过打印时间戳来打印给定的信息时间。我们需要提供 -t
此选项。时间列将作为cpu列之后的最后一列添加。
$ vmstat -t

列出内存活动和非活动
活动内存是当前正在运行的进程中活动使用的内存的一部分或大小。非活动内存是死掉或不存在进程的内存的一部分或大小。我们将使用 -a
活动和非活动内存选项。我们看得出来 memory
列提供 inact
和 active
柱。
$ vmstat -a

详细查看磁盘I/O静态
由于写入磁盘和磁盘拓扑是一个复杂的区域,相关信息可以打印出来 -d
选项。此选项将提供以下信息。
$ vmstat -d

-
Reads
显示阅读相关信息-
total
显示已成功完成的总读取 -
merged
显示分组读取 -
sectors
显示扇区读取 -
ms
显示读取所用的毫秒数
-
-
Writes
显示写入相关信息-
total
显示已成功完成的总读取 -
merged
显示分组读取 -
sectors
显示扇区读取 -
ms
显示读取所用的毫秒数
-
-
IO
显示当前活动IO操作信息-
cur
正在进行I/O -
s
用于I/O的秒数
-
相关文章: Linux操作系统和发行版
查看磁盘I/O静态摘要
我们还可以使用 -D
选项。
$ vmstat -D

使用兆字节作为度量
在使用所有选项期间,内存的默认度量为字节。这会降低可读性。我们可以使用 -S M
将兆字节设置为公制的选项。
$ vmstat -S M

列出事件计数器和内存静态
我们可以用 -s
选项以打印事件计数器和内存统计信息。
$ vmstat -s
