CentOS 中的性能监测命令vmstat

 

一  安装

安装命令

yum -y install vmstat

二 vmstat 简介

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况, IO读写情况。不足之处是无法对某个进程进行深入分析。

CentOS 中的性能监测命令vmstat

2表示每两秒采集一次服务器状态,20表示共采集20次。当然也可以不加后面的那个数字,那就默认持续采集,直到ctrl+c停止。

三 分析

  1. Procs 
    r:等表示运行和等待CPU时间片的进程数,如果这个值长期大于系统CPU个数,就说明CPU资源不足,可以考虑增加CPU; 
    b:处表示在等待资源的进程数,比如正在等待I/O或者内存交换等
  2. Memory 
    swpd:虚拟内存使用情况,单位:KB,表示切换到内存交换区的内存大小,如果swap值不为0或者比较大,只要si、so的值长期为0,这种情况一般属于正常情况。 
    free:空闲的物理内存,单位KB 
    buff:用作缓存的内存大小,单位KB(将要写入磁盘的),表示buffers cached内存大小,也就是缓冲大小,一般对块设备的读写才需要缓冲。 
    cache:用作缓存的内存大小,单位KB(从磁盘中读出来的)。表示page cached的内存大小,也就是缓冲大小,一般作为文件系统进行缓冲,频繁访问的文件都会被缓存,如果cache值非常大说明缓存文件比较多,如果此时io中的bi比较小,说明文件系统效率比较好。
  3. swap 
    si:从磁盘交换到内存的交换页数量,单位:KB/S(每秒从交换区写到内存的大小);表示从磁盘调入内存,也就是内存进入内存交换区的内存大小; 
    so:从内存交换到磁盘的交换页数量,单位:KB/S(每秒写入交换区的内存大小),也就是由内存交换区进入内存的内存大小; 
    一般情况下,si、so的值都为0,如果si、so的值长期不为0,则说明系统内存不足,需要增加系统内存;
  4. io 
    bi:由块设备读入数据的总量,即读磁盘,单位kb/s 
    bo:写到块设备数据的总量,即写磁盘,单位kb/s 
    如果bi+bo值过大(超过1000算大),且wa值较大,则表示系统磁盘IO瓶颈
  5. system 
    in:表示某一时间间隔内观测到的每秒设备的中断数,包括时钟中断 
    cs:每秒产生的上下文切换次数 
    这2个值越大,则由内核消耗的CPU就越多。
  6. cpu 
    us:用户进程消耗的CPU时间百分比,us值越高,说明用户进程消耗cpu时间越多,如果长期大于50%,则需要考虑优化程序或算法。 
    sy:表示系统内核进程消耗的CPU时间百分比,一般来说us+sy应该小于80%,如果大于80%,说明可能出现CPU瓶颈 
    id:空闲状态的时间百分比(包括IO等待时间) 
    wa:表示IO等待所占用的CPU时间百分比,wa值越高,说明IO等待越严重。如果wa值超过20%,说明IO等待严重;引起I/O等待的原因可能是磁盘大量随机读写造成的,也可能是磁盘或者磁盘访问监控器的带宽瓶颈(主要是块操作)造成的

综上所述,如果评估CPU,需要重点关注procs项的r列值和CPU项的us、sy、wa列的值

st:一般不关注,虚拟机占用时间百分比

四 vmstat命令参数用法

[root@localhost ~]# vmstat -h

Usage:
 vmstat [options] [delay [count]]

Options:
 -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

For more details see vmstat(8).
[root@localhost ~]# 
  • -a:显示活跃和非活跃内存
  • -m:显示slabinfo
  • -n:只在开始时显示一次各字段名称
  • -s:显示内存相关统计信息及多种系统活动数量
  • -d:显示各个磁盘相关统计信息。
  • -S:使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节(bype)。默认单位为K(1024 bytes)
  • -V:显示vmstat版本信息
  • -p:显示指定磁盘分区统计信息
  • -D:显示磁盘总体信息

 

 

参考:https://blog.csdn.net/duzilonglove/article/details/80181590

上一篇:跟Gregg学习系统性能--[6.5.1]CPU相关工具汇总介绍


下一篇:linux命令之--vmstat