zoukankan      html  css  js  c++  java
  • 11.5 vmstat:虚拟内存统计

    vmstat

    vmstat是Virtual Memory Statistics(虚拟内存统计)的缩写,利用vmstat命令可以对操作系统的内存信息、进程状态和CPU活动等进行监视。但是只能对系统的整体情况进行统计,无法对某个进程进行深入分析。

    【语法格式】

    vmstat foption [delay fcountl]
    vmstat  [选项]   [时间间隔(次数]
     
    1)在vmstat命令及后面的选项里,每个元素之间都至少要有一个空格。
    2)delay表示两次输出之间的间隔时间。
    3)count表示按照delay指定的时间间隔统计的次数。

    【选项说明】

    -a    显示活跃和非活跃内存
    -f    显示从系统启动至今的fork进程数量
    -m    显示slab信息
    -n    只在开始时显示一次各字段名称
    -s    显示内存相关统计信息及多种系统活动数量深
    -d    显示磁盘相关统计信息
    -p    显示指定磁盘分区统计信息
    -S    使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024byte)
    -t     统计信息带上时间戳
     
     
    [root@lewen ~]# vmstat   #<行如果省略“间隔时间”和“次数”的参数,则仅显示一次报告后
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
    r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
    2  0      0 2792792   2108 790956    0    0    15    20   61  146  0  0 99  0  0
     
     
    以下是命令结果的详细说明。
    第1列:procs。
      r列表示运行和等待CPU时间片的进程数。
      b列表示正在等待资源的进程数。
    第2列:memory。
      swpd列表示使用虚拟内存的大小。
      free列表示当前空闲的物理内存数量。
      buff列表示buffers的内存数量。
      cache列表示cache的内存数量。
    第3列:swap。
      si(swap in)列表示由磁盘调入内存,也就是内存进入内存交换区的数量。
      so(swap out)列表示由内存调入磁盘,也就是内存交换区进入内存的数量。
    第4列:I/O项显示磁盘读写状况。
      bi列表示从块设备读入数据的总量(即读磁盘)(块/s)。
      bo列表示写入块设备的数据总量(即写磁盘)(块/s)。
    第5列:system显示采集间隔内发生的中断数。
      in列表示在某一时间间隔中观测到的每秒设备中断数。
      cs列表示每秒产生的上下文切换次数。
    第6列:CPU项显示了CPU的使用状态。
      us列显示了用户进程消耗的CPU时间百分比。
      sy列显示了系统(内核)进程消耗的CPU时间百分比。
      id列显示了CPU处在空闲状态的时间百分比。
      wa列显示了I/0等待所占用的CPU时间百分比。
      st列显示了虚拟机占用的CPU时间的百分比。

    显示活跃和非活跃内存

    [root@lewen ~]# vmstat -aS M 2 3
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
    r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
    2  0      0   2727    290    657    0    0    15    20   61  146  0  0 99  0  0
    0  0      0   2727    290    657    0    0     0     0   53  118  0  0 100  0  0
    0  0      0   2727    290    657    0    0     0     0   51  112  1  1 99  0  0
     
     
    使用-a选项显示活跃和非活跃内存时,所显示的内容除去增加了inact和active之外,其他显示内容与范例11-12相同。
    memory列增加了inact和active两列,其说明具体如下。
    inact:非活跃的内存大小(当使用-a选项时显示)。
    active:活跃的内存大小(当使用-a选项时显示)。

    查看内存使用的详细信息

    [root@lewen ~]# vmstat -s  
          4026348 K total memory
           440568 K used memory
           673792 K active memory
           297756 K inactive memory
          2792680 K free memory
             2108 K buffer memory
           790992 K swap cache
     
     
    这些信息分别来自于/proc/meminfo、/proc/stat和/proc/vmstat。

    查看磁盘的读/写

    [root@lewen ~]# vmstat -d
    disk- ------------reads------------ ------------writes----------- -----IO------
           total merged sectors      ms  total merged sectors      ms    cur    sec
    sda     8333      8  673201  140450  21689   1376  907042   61431      0     73
    sr0       18      0    2056     678      0      0       0       0      0      0
    dm-0    6339      0  648333  139872  23055      0  902906   75051      0     73
    dm-1      90      0    4920       7      0      0       0       0      0      0
     
    这些信息主要来自于/proc/diskstats。其中的merged表示一次来自于合并的写/读请求,系统一般会把多个连接/邻近的读/写请求合并到一起来操作。

    查看/dev/sda1磁盘的读写统计信息

    [root@lewen ~]# vmstat -p /dev/sda1
    sda1          reads   read sectors  writes    requested writes
                    1799      12364         10       4136
    这些信息主要来自于/proc/diskstats。各列的说明具体如下。
    reads:来自于该分区的读的次数。
    read sectors:来自于该分区的读扇区的次数。
    writes:来自于该分区的写的次数。
    requested writes:来自于该分区的写请求次数。
     
     
  • 相关阅读:
    【剑指offer】面试题40:数组中只出现一次的数字
    【剑指offer】面试题39扩展:平衡二叉树
    【剑指offer】面试题39:二叉树的深度
    【剑指offer】面试题38:数字在排序数组中出现的次数
    【剑指offer】面试题37:两个链表的第一个公共结点
    【剑指offer】面试题36:数组中的逆序对
    剑指Offer
    设计模式
    ACM
    算法设计与分析
  • 原文地址:https://www.cnblogs.com/wenyule/p/12214149.html
Copyright © 2011-2022 走看看