详读vmstat

使用vmstat命令,输出每隔一秒,采集2次服务器的状态,包括cpu使用率,内存使用,虚拟内存交换情况,IO 读写情况:

  [root@wml1 ~]# 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

  0 0    1061668 88940 145568 330524 0 6        11 55 37       145 1       0  98   1   0

  0 0    1061668 88932 145568 330524 0 0        0 0 37            61  0      0  100  0  0

 

  也可以直接使用vmstat 1,每隔一秒采集一次,只要不结束程序一直采集。

rtop:表示运行队列(就是有多少个进程真的分配到cpu),当这个值超过了cpu数目,就会出现cpu瓶颈了,这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就很高,超过了10就不正常了,top 的负载类似于每秒的运行队列。如果运行队列很大,表示你的cpu很繁忙,一般会造成cpu使用率很高。b表示阻塞的进程。

Swapd:表示虚拟内存的已使用的大小,如果大于0,表示物理内存不足了,如果不是程序内存泄漏的原因,该升级内存了。

Free:空闲的物理内存的大小

Bufflinux/unix系统用来存储目录的有什么内容、权限等的缓存

Cache:直接用来记忆我们打开的文件,给文件做缓冲。                 

Si:每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找消耗内存进程解决掉。

So:每秒虚拟内存写入磁盘的大小

Bi:块设备每秒接收的块数量

Bo:块设备每秒发送的块数量

In:每秒 cpu 的中断次数,包括时间中断

Cs:每秒上下文切换次数

Us:用户占用cpu时间百分比

Sy:系统占用cpu时间百分比,如果太高,表示系统调用时间长,例如是IO操作频繁。

Id:空闲cpu时间百分比,如果r经常大于4,并且id经常少于40,表示cpu的负载很重。

WaIO等待时间百分比,过高时,说明io等待比较严重,可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。

 

posted @ 2019-08-06 16:58  Tech_Shrimp  阅读(214)  评论(0编辑  收藏  举报