性能测试分析_vmstat

Posted Beng Dou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试分析_vmstat相关的知识,希望对你有一定的参考价值。

 vmstat命令主要是对操作系统的虚拟内存、进程、IO读写、CPU活动等整体情况进行统计。

vmstat基本语法

命令使用格式:vmstat [options] [delay [count]]

选项

 -a, --active           active/inactive memory
 -f, --forks            number of forks since boot
 -m, --slabs            slabinfo
 -n, --one-header       do not redisplay header
 -s, --stats            event counter statistics
 -d, --disk             disk statistics
 -D, --disk-sum         summarize disk statistics
 -p, --partition <dev>  partition specific statistics
 -S, --unit <char>      define display unit
 -w, --wide             wide output
 -t, --timestamp        show timestamp

 -h, --help     display this help and exit
 -V, --version  output version information and exit

使用实例

1、vmstat 1 2,每秒收集1次统计信息,总共收集2次。这是最常用的实例,不带选项。

$ vmstat 1 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 142524 1499664 4028148    0    0    38    42    7    9  1  1 98  0  0
 0  0      0 141764 1499664 4028160    0    0     0     0 1123 2025  1  1 99  0  0

以上各列含义

procs:
  r 运行队列
  b 阻塞的进程
memory:
  swpd 虚拟内存使用量。如果大于0,表示机器物理内存不足。
  free 空闲物理内存
  buff 作为buff使用的内存
  cache 作为cache使用的内存
swap:
  si  每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够或者内存泄露了,要查找耗内存进程解决掉。
  so  每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。
  bi  块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte
  bo  块设备每秒发送的块数量,bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。
system:
  in 每秒CPU的中断次数,包括时间中断。
  cs 每秒上下文切换次数
cpu:
  us 用户CPU时间
  sy 系统CPU使用率,如果太高,表示系统调用时间长,例如是IO操作频繁。
  id CPU空闲率
  wt 等待IO CPU时间

分析时重点关注

r 最好不要超过cpu总数,长期大于的话需要重点关注
b 长期很高时需要注意
swpd 最好不要大于0,如果大于0,接着看si,so,如果为0或很低的话,没事
si,so 数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大
bi,bo 数值高表示io压力大

参考资料

  1、Linux 系统实时监控工具vmstat

以上是关于性能测试分析_vmstat的主要内容,如果未能解决你的问题,请参考以下文章

vmstat查看分析Linux系统负载性能

通过命令vmstat查看Linux系统负载性能,查看分析信息详解

Linux运维之系统性能瓶颈工具vmstat分析

性能测试中vmstat命令的常见使用。

Linux性能分析top iostat vmstat free

性能测试分析