Linux的vmstat命令

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

1. vmstat命令介绍

vmstat命令主要用来提取系统信息,其会生成一个详尽的系统内存和CPU使用情况报告。

2. vmstat的符号含义介绍

符号 含义
r 等待CPU时间的进程数
b 处于不可中断休眠中的进程数
swpd 使用的虚拟内存总量(单位:MB)
free 空闲的物理内存总量(单位:MB)
buff 用作缓冲区的内存总量(单位:MB)
cache 用作高速缓存的内存总量(单位:MB)
si 从磁盘交换进来的内存总量(单位:MB)
so 交换到磁盘的内存总量(单位:MB)
bi 从块设备受到的块数
bo 发送给块设备的块数
in 每秒的CPU中断次数
cs 每秒的CPU上下文切换数
us 用于执行非内核代码的CPU时间所占的百分比
sy 用于执行内核代码的CPU时间所占的百分比
id 处于空闲状态的CPU时间所占的百分比
wa 用于等待I/O的CPU时间所占的百分比
st 虚拟机偷取的时间所占的百分比

3. vmstat用法

第一次运行vmstat命令,它会显示自上次重启以来负载的平均负载值。用法如下:

1
2
3
4
$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 2508 144238112 0 98689096 0 0 3 13 0 0 2 6 92 0 0

vmstat工具通常使用两个数字参数来显示系统信息,第一个参数是采样时间间隔数,单位是秒,第二个参数是采样次数。用法如下:

1
2
3
4
5
6
7
8
$ vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
41 0 2508 143143008 0 98875408 0 0 3 13 0 0 2 6 92 0 0
1 0 2508 143974560 0 98875736 0 0 0 0 37405 41706 8 26 66 0 0
5 0 2508 143964080 0 98875184 0 0 0 0 41914 50578 9 30 61 0 0
40 0 2508 143142720 0 98875656 0 0 0 92 40721 44492 8 28 64 0 0
1 0 2508 143964080 0 98876032 0 0 0 0 35374 42967 8 23 69 0 0

参考资料

  1. Linux命令行与shell脚本编程
如果有收获,可以请我喝杯咖啡!