每天学习一个命令: vmstat 统计系统资源使用
vmstat 会报告有关 processes, memory, paging, block IO,traps, disks 和 cpu 活动信息。
生成的第一个报告给出了自上次重新启动依赖的平均值。优势是可以按周期或实时采集上述信息。
举例
1 | root@compute:~# vmstat |
解释输出信息
procs
:
r: 正在运行的或者等待CPU运行的进程数。当这个值长时间超过了CPU个数,就会出现CPU瓶颈。一般负载大于3就算比较高,大于5是高,大于10系统就不正常。
b: 等待 I/O 完成的阻塞的进程数。
memory
:
以下参数会受到 --unit 参数的影响
swpd: 交换内存使用量。
free: 空闲内存的数量。
buff: 缓冲区内存使用量。
cache: 缓存区内存使用量。
incat: 禁用的内存数量。(-a option)
active: 可用的内存数量。(-a option)
swap
:
> 以下参数会受到 `--unit` 参数的影响
si: 从磁盘交换到内存的内存量(/s)。
so: 从内存交换到磁盘内存量(/s)。
io
:
bi: 从块设备接受的块(block/s)。
bo: 发送到块设备的块(block/s)。
system
:
in: 每秒钟系统中断数,包括时钟中断。
cs: 每秒钟系统切换上下文的次数。
cpu
:
以下参数之和是总的CPU时间。
us: CPU在用户空间所占用的时间。
sy: CPU在内核空间所占用的时间。
id: CPU空闲时间。
wa: CPU在等待IO所占用的实际。
st: 虚拟机中窃取CPU的时间。(虚拟机需要关注, 一般 `steal time` 维持在很高的数值上,大概率是服务器创建虚拟机太多。)
常用参数
每2秒显示报告共5次
1 | root@compute:~# vmstat 2 5 |
参考文章
vmstat - manned.org
理解CPU steal time - MKY-门可意 - 博客园
linux下的缓存机制buffer、cache、swap - 运维总结 [“Cannot allocate memory”问题] - 散尽浮华 - 博客园
Linux vmstat命令实战详解 - ggjucheng - 博客园
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment