查看系统负载 vmstat 详解

2016-08-09

查看系统负载 vmstat 详解

  查看具体设备有无压力可以通过 vmstat 得知,vmstat 命令打印的结果分为 6 部分:procs,memory,swap,io,system,CPU。重点关注 r b si so bi bo 几列。

[root@localhost ~]# vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

 0  0    832 373600  22176 523896    0    0     3     3    5    6  0  0 100  0  0

[root@localhost ~]# vmstat 1

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

 0  0    832 373600  22280 523896    0    0     3     3    5    6  0  0 100  0  0

 0  0    832 373568  22280 523896    0    0     0     0   15   15  0  0 100  0  0

 0  0    832 373568  22280 523896    0    0     0     0   13   14  0  0 100  0  0

 0  0    832 373568  22280 523896    0    0     0     0   12   16  0  0 100  0  0

 0  0    832 373568  22280 523896    0    0     0     0   12   14  0  0 100  0  0

 0  0    832 373568  22280 523896    0    0     0     0   11   15  0  0 100  0  0

 0  0    832 373568  22280 523896    0    0     0     0   14   19  0  0 100  0  0

^C

 (1)procs 显示进程相关信息

   r:表示运行和等待 CPU 时间片的进程数。如果长时间大于服务器 CPU 的个数,则说明 CPU 不够用了。

  b:表示等待资源的进程数。比如,等待 I/O、内存等,这列的值如果长时间大于 1,则需要关注一下了。

 (2)memory 内存相关信息

  swpd:表示切换到交换分区中的内存数量。

  free:当前空闲的内存数量。

  buff:缓冲大小(即将写入磁盘的)

  cache:缓存大小(从磁盘中读取的)

 (3)swap 内存交换情况

  si:由交换区写入到内存的数据量

  so:由内存写入到交换区的数据量

 (4)io 磁盘使用情况

  bi:从块设备读取数据的量(读磁盘)

  bo:从块设备写入数据的量(写磁盘)

 (5)system 显示采集间隔内发生的中断次数

  in:表示在某一时间间隔中观测到的每秒设备中断数

  cs:表示每秒产生的上下文切换次数

 (6)CPU 显示 CPU 的使用状态

  us:显示了用户下所花费 CPU 时间的百分比

  sy:显示系统花费 CPU 时间百分比

  id:表示 CPU 处于空闲状态的时间百分比

  wa:表示 I/O 等待所占用 CPU 时间百分比

  st:表示被偷走的 CPU 所占百分比(一般为 0,不用关注)

  以上各个参数中,需要经常关注 r 列, b 列和 wa 列。IO 部分的 bi 以及 bo 也是要经常参考的对象,如果磁盘 io 压力很大时,这两列的数值会比较高。另外当 si 、so 两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。

  使用 vmstat 查看系统状态时,通常用这两种形式来看:

[root@localhost ~]# vmstat 1 5

[root@localhost ~]# vmstat 1

  前面表示,每隔一秒钟输出一次状态,共输出 5 次。而后面的表示每隔 1 秒输出一次状态且一直输出,除非我们按 Ctrl+c 结束。


标题:查看系统负载 vmstat 详解
作者:散宜生
地址:https://17kblog.com/articles/2016/08/09/1470706994345.html