vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是获取的时间间隔数,单位是秒,第二个参数是获取的次数,如:
Python123456[root@chenyi-1sbin]# vmstat 3 3 #表示每三秒获取一次,获取3次procs-----------memory-------------swap-------io------system-------cpu-----rbswpd free buff cache si so bi bo incs us sy idwa st00062138844608300172002823151198000006213804460830019600006900100000006213804461630019200047130010000实际在生产环境中,我们会在一个时间段里一直监控,直到我们发出CTRL+C 后结束(下为每1秒获取一次,一直获取):
Python123456789101112[root@chenyi-1sbin]# vmstat 1procs-----------memory-------------swap-------io------system-------cpu-----rbswpd free buff cache si so bi bo incs us sy idwa st00062138844648300196002723151198000006213804464830019600009120010000000621380446483001960000710001000000062138044648300196000010160010000000621380446483001960000101400100000006213804464830019600001114001000000062138044648300196000071100100000006213804464830019600009150010000^C下面为各参数的含义:
Procs(进程):
r: 运行队列中进程数量
b: 等待IO的进程数量
Memory(内存):
swpd: 使用虚拟内存大小
free: 可用内存大小
buff: 用作缓冲的内存大小
cache: 用作缓存的内存大小
Swap:
si: 每秒从交换区写到内存的大小
so: 每秒写入交换区的内存大小
IO:(现在的Linux版本块的大小为1024bytes)
bi: 每秒读取的块数
bo: 每秒写入的块数
系统:
in: 每秒中断数,包括时钟中断。
cs: 每秒上下文切换数。
CPU(以百分比表示):
us: 用户进程执行时间(user time)
sy: 系统进程执行时间(system time)
id: 空闲时间(包括IO等待时间)
wa: 等待IO时间