下图可以看到 vmstat可以得到系统内存,交换分区,cpu,系统进程等监控信息
参数:
vmstat n 【代表n秒刷新一次】
vmstat n nn【代表n秒刷新一次,刷新nn次就不刷新了】
vmstat -a 显示活跃和非活跃内存,所显示的内容除增加inact和active
vmstat -f 显示从系统启动至今的fork数量
vmstat -s 查看内存使用的详细信息,显示内存相关统计信息及多种系统活动数量(信息主要来自/proc/meminfo,/proc/stat和/proc/vmstat)
vmstat -d 查看磁盘读写情况(信息主要来自/proc/diskstats.)
vmstat -p /dev/sda1:查看某个磁盘的读写
reads:来自于这个分区的读的次数。
read sectors:来自于这个分区的读扇区的次数。
writes:来自于这个分区的写的次数。
requested writes:来自于这个分区的写请求次数。
内容介绍
procs:
r:在跑(running)进程数量
b:处于中断状态(block)的进程数量
memory:
swpd:占用虚拟内存大小
free:空闲内存大小
buff:用做buffer的内存大小
cache:用作缓存的内存大小
swap:
si:每秒从交换区写到内存的大小
so:每秒写入交换区的内存大小
io:
bi:每秒读取的块数
bo:每秒写入的块数
system:
in:interrupt,每秒中断数
cs:count/second,每秒上下文切换数
cpu:
us:执行用户进程占用cpu
sy:执行内核进程占用cpu
id:空闲cpu
wa:用于等待IO完成的CPU百分比
st:虚拟机占用CPU百分比
使用案例
得到多次获取性能监控结果的平均值,例如下方是取的空闲cpu
vmstat 1 5 |sed -n '3,$p' |awk '{x = x + $15} END {print x/5}' |awk -F. '{print $1}'