• CentOS 中的性能监测命令vmstat


    一  安装

    安装命令

    yum -y install vmstat

    二 vmstat 简介

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

    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

  • 相关阅读:
    rabbitMQ学习笔记(二) 简单的发送与接收消息 HelloWorld
    rabbitMQ学习笔记(一)Windows 与Linux下rabbitMQ的安装
    数据库必知必会操作手册—创建高级联结
    面试题 16.11. 跳水板(数学法)
    面试题 08.06. 汉诺塔问题(分治递归)
    剑指 Offer 32
    剑指 Offer 32
    剑指 Offer 53
    剑指 Offer 30. 包含min函数的栈(辅助栈)
    剑指 Offer 58
  • 原文地址:https://www.cnblogs.com/-hao-/p/11126836.html
Copyright © 2020-2023  润新知