文章目录
一、vmstat工具是什么?
vmstat
是一个在 Unix 和 Linux 系统中常用的系统监控工具,用于报告关于进程、内存、分页、块 IO、陷阱和 CPU 活动的信息。这个命令的名字来源于 “virtual memory statistics”(虚拟内存统计)。
二、基本用法
1.代码(示例):
#vmstat [options] [interval [count]]
interval
:指定更新报告的秒数。count
:指定生成报告的次数。
例如
#默认执行如下
[root@master01 tmp]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 2850372 2076 469732 0 0 13 3 61 59 0 0 100 0 0
[root@master01 tmp]# vmstat 5 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 2847960 2076 469728 0 0 8 2 58 55 0 0 100 0 0
0 0 0 2847812 2076 469728 0 0 0 0 279 258 0 0 100 0 0
每 5 秒更新一次,并且总共更新 10 次,我这边没有跑完全部,可以理解为每五秒更新一次数据,总共显示十次
2.常用选项
选项:
`-s`:报告自系统启动以来的统计信息摘要。
`-S`:使用指定的单位(如 K、M、G)显示报告。
`-f`:显示启动以来创建的进程数。
`-n`:不要重新显示头信息。
#vmstat -S定义用什么数据储存方式显示
#-S加k, K, m or M (default is KiB)
#默认为上面的KiB显示
[root@master01 tmp]# vmstat -SM
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 2781 2 458 0 0 11 2 60 57 0 0 100 0 0
vmstat: -S requires k, K, m or M (default is KiB)
菜单介绍
-
procs:进程
r
: 运行队列中进程的数量(正在运行或等待运行的进程数)。b
: 等待 I/O 的进程数。
-
memory:内存
swpd
: 使用虚拟内存的大小(单位通常是 KB)。free
: 空闲内存的大小(单位通常是 KB)。buff
: 用作缓冲区的内存大小(单位通常是 KB),通常是给块设备使用的。cache
: 用作缓存的内存大小(单位通常是 KB),通常是给文件系统使用的。
-
swap:交换空间
si
: 从交换空间(swap)每秒读取到内存的数据量(单位通常是 KB)。so
: 从内存每秒写入到交换空间的数据量(单位通常是 KB)。
-
io:
bi
: 每秒从块设备(如硬盘)读取的块数(读取操作的次数)。bo
: 每秒写入到块设备(如硬盘)的块数(写入操作的次数)。
-
system:
in
: 每秒接收的中断次数。cs
: 每秒上下文切换的次数。
-
cpu:
us
: 用户空间占用 CPU 的百分比。sy
: 系统空间占用 CPU 的百分比。id
: 空闲 CPU 的百分比。wa
: 等待输入输出的 CPU 时间百分比。st
: 虚拟机偷取时间的百分比(只在虚拟化环境中有意义)。
这些字段提供了系统性能的快照,可以帮助系统管理员监控系统运行状况,识别性能瓶颈,以及进行故障排除。例如,如果 r
的值持续很高,可能意味着 CPU 资源不足;如果 wa
的值很高,可能意味着 I/O 系统存在瓶颈。