Linux vmstat命令 - 用于报告虚拟内存统计信息的工具
VMSTAT是一个提供报告虚拟内存统计信息的工具。
它涵盖了系统的内存,交换和处理器实时利用。
与MPSTAT相同,VMSTAT包含在Sysstat包中。
如果我们没有,请安装sysstat包。
要运行vmstat,只需在控制台中键入vmstat。
没有参数运行vmstat将向我们显示VMSTAT的默认结果。
让我们看看如何阅读VMSTAT提供的信息:
proc
proc有r列和b列。
R列表示等待访问处理器的过程总数。
B列表示睡眠状态中的总没有过程。
在这些列下方,有值。
从上面的屏幕截图,我们有2个进程,等待对处理器的访问和0进行睡眠进程。
内存
内存具有SWPD,免费,Buff和缓存列。
此信息与Free -M命令相同。
SWPD列向我们展示了交换文件或者磁盘的内存量。
免费列向我们展示可用的未分配内存。
BUFF列意味着使用内存有多大。
缓存列会向我们展示可以在交换文件或者磁盘中交换的多少内存,如果它们需要一些应用程序。
交换
交换向我们展示从交换系统发送或者检索多少内存。
Si列告诉我们每秒从交换转换到真实内存的内存量。
所以列告诉我们从真实内存移动到交换的多少内存。
I/O.
IO向我们展示每秒的输入和输出活动的数量,即写入的块读取和块。
BI列告诉我们收到的块数,BO告诉我们发送的块数。
系统
系统向我们展示每秒系统操作的数量。
中列告诉我们每秒数字系统中断。
CS列告诉我们系统所做的切换数以处理所有任务。
中央处理器
CPU向我们展示了CPU资源的使用。
美国专列告诉我们处理器在非内核流程上花费了多少时间。
Sy列告诉我们处理器在内核相关任务上花费多少时间。
ID列告诉我们处理器空闲的时间。
WA列告诉我们处理器在能够继续处理任务之前,处理器已经等待I/O操作的时间。
1)使用VMSTAT延迟
作为统计的工具,使用VMSTAT的最佳方法是使用延迟。
因此,我们可以定期捕获活动。
假设我们希望使用5秒延迟运行VMSTAT。
只需在控制台上键入VMSTAT 5即可执行此操作。
命令将每5秒运行一次,直到按Ctrl-C停止它。
我们可以使用计数来限制VMSTAT运行的次数。
上面的命令将以5秒钟延迟运行VMSTAT 7次。
2)显示活动和非活动内存
要执行此操作,可以将-a参数添加到vmstat。
这是一个示例。
注意当运行队列(R值)超出服务器上CPU的数量时,CPU瓶颈有很好的可能性。
3)显示总结磁盘统计信息
VMSTAT可以打印系统磁盘统计信息如果需要。
使用-d参数打印它。
4)显示显示单元
我们可以选择要打印的单位字符。
使用-s后跟k(1000),k(1024),m(1000000),m(1048576)字节。
如果我们没有选择本机,则VMSTAT将使用K(1024)。
5)打印特定分区的详细信息统计信息
要执行此操作,可以使用-p参数后跟设备名称。
这是它的一个例子。
文件使用
vmstat正在使用这些文件来工作。
/proc/meminfo /proc/stat /proc/*/stat