vmstat 详解
2018-05-28 本文已影响11人
某尤
命令示例:
-
vmstat 1 5
(每秒打印一次,共输出10次) -
vmstat -S m 1 10
(-S k 按kb单位展示,m 按mb单位展示)
输出内容:
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 0 172204 25000 170544 0 0 10 5 0 1 1 1 99 0 0
0 0 0 172188 25000 170564 0 0 0 0 1705 3196 2 2 96 0 0
0 0 0 172188 25000 170564 0 0 0 0 2184 3934 3 3 95 0 0
0 0 0 172064 25000 170564 0 0 52 0 2215 4035 4 4 92 0 0
0 0 0 172064 25000 170564 0 0 0 0 2024 3839 2 2 96 0 0
输出解释:
- procs
- r:等待访问处理器的进程总数。展示CPU运行饱和度,不包含IO。
- b:sleep 状态的进程数。
- memory(与 free 命令输出的内容类似)
- swpd:交换区大小,大于0说明内存不足。
- free:未分配的内存
- buff:缓冲区大小,一般只有几十M(缓冲区会记住目录中的内容,文件权限以及跟踪正在为特定块设备写入或读取内存的内容。)
- cache:缓存大小,通常几个G(缓存只包含文件本身的内容。)
- swap
- si/so:swap-in/swap-out 这个值大于0说明内存不足使用到交换区了
- io
- bi/bo:blocks-in/blocks-out 每秒有多少个块输入或输出
- system
- in:每秒有多少系统中断(system interrupts)发生
- cs:每秒有多少c上下文切换(context switches)发生
- cpu(us+sy+id+wa+st = 100)
- us(user time):处理用户级任务的时间占比
- sy(system time):处理内核任务的时间占比
- id(idle):空闲时间占比
- wa(wait I/O):等待处理任务的时间占比
- st(steal time):虚拟化环境下
参考连接