vmstat命令是一个可用于报告系统虚拟内存、进程、CPU活动和输入输出统计信息的工具。以下是vmstat命令的详细解释说明:
用法:
vmstat [选项] [时间间隔] [重复次数]
常用选项:
-a
:显示所有模式(虚拟内存、进程和IO)
-s
:从系统启动以来的统计信息
-n
:抑制输入/输出统计信息的标题行
-d
:显示磁盘活动
-p
<磁盘分区>:仅显示指定磁盘分区的活动
-t
:显示时间戳
-w
:宽格式输出
参数:
时间间隔:指定两个报告之间的时间间隔(以秒为单位),如果省略,默认为2秒。
重复次数:指定输出的重复次数,如果省略,则持续输出直到用户中断。
输出解释:
vmstat命令的输出包含以下列:
1.Procs(进程):
r
:运行队列中的进程数。
b
:处于不可中断(blocked)状态的进程数。
2.Memory(内存):
swpd
:已使用的虚拟内存大小(单位为KB)。
free
:空闲的物理内存大小(单位为KB)。
buff
:用作缓冲区的内存大小(单位为KB)。
cache
:用作缓存的内存大小(单位为KB)。
3.Swap(交换空间):
si
:每秒从磁盘写入交换空间的数据大小(单位为KB)。
so
:每秒从交换空间读取到内存的数据大小(单位为KB)。
4.IO(输入/输出):
bi
:每秒从块设备读取的块数。
bo
:每秒写入块设备的块数。
5.System(系统):
in
:每秒中断数。
cs
:每秒上下文切换数。
6.CPU(CPU活动):
us
:用户空间程序使用CPU的时间百分比。
sy
:内核空间程序使用CPU的时间百分比。
id
:CPU处于空闲状态的时间百分比。
wa
:CPU等待IO操作完成的时间百分比。
st
:被控制器虚拟化的时间百分比。
通过观察vmstat命令输出的各个列,您可以获取有关系统内存、进程、IO和CPU活动的实时统计信息,这些信息有助于诊断和调优系统性能问题。