主要作用
vmstat 为linux下提供的一个性能诊断工具。
内存排查方面,可以用它查看:
- 虚拟内存使用量
- 空闲内存剩余量
- 活跃内存量
- 非活跃内存量
- 缓冲内存使用量
- 缓存内存使用量
硬盘排查方面,可以用它查看:
- 读/写磁盘总次数
- 读/写磁盘扇区总次数
- 读/写磁盘效率
cpu排查方面,可以用它查看:
- 用户/系统的cpu使用占比
- 空闲cpu使用占比
- cpu等待占比
- 中断数
语法格式
vmstat [options] [delay [count]]
命令参数
- a :显示活动内存(活跃/非活跃)
- d :磁盘统计信息
- p [partition] :查看磁盘分区的读写信息
- s :显示内存统计信息
- t : 显示时间戳
- S : 指定显示单位(k K m M)
响应参数
vmstat 2 2
- r :处于运行中的进程数量
- b : 处于不可中断的阻塞进程的数量(io)
- swpd :使用的交换内存大小
- free : 剩余的空闲内存大小
- buff : 用作缓冲区的内存大小
- cache :用作缓存的内存大小
- si :交换内存读入速度 默认kb/s
- so :交换内存写出速度 默认kb/s
- bi :块设备读入的速度 块/s
- bo :块设备写入的速度 块/s
- in :每秒中断数
- cs : 每秒上下文的切换数
- us :用户态CPU的时间占比
- sy :系统态CPU的时间占比
- id : 空闲CPU的时间占比
- wa : 等待I/O的CPU时间占比
- st : 被盗用的时间百分比(通常是虚拟化环境中虚拟 CPU 等待物理 CPU 的时间)
vmstat -d
- total : 总读/写次数
- merged :总合并读/写次数(多组相邻写入或者读取会被合并)
- sectors :读/写扇区次数
- ms :读/写总花费毫秒数
- cur :当前的io操作数
- sec :每秒的io操作数
PS : *结合top,vmstat,可以看到目前的内存使用情况,并找出占用较多的部分进程去做针对性排查*