zoukankan      html  css  js  c++  java
  • Linux基础命令---vmstat显示虚拟内存状态

    vmstat

           vmstat指令用来显示虚拟内存使用状态,同时也可以显示进程、cpu活动情况。vmstat报告有关进程、内存、分页、块IO、陷阱和CPU活动的信息。生成的第一份报告给出了自上次重新启动以来的平均值。其他报告提供了长度延迟取样周期的信息。在这两种情况下,进程和内存报告都是瞬时的。

           此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora、SUSE、openSUSE。

     

    1、语法

           vmstat [-a]  [-n]  [-t] [-S unit]  [delay [ count]]

           vmstat [-s]  [-n]  [-S unit]

           vmstat [-m]  [-n]  [delay [ count]]

           vmstat [-d]  [-n]  [delay [ count]]

           vmstat [-p disk partition]  [-n]  [delay [ count]]

           vmstat [-f]

           vmstat [-V]

     

    2、选项列表

    选项

    说明

    -a

    显示使用和非使用的虚拟内存状态

    -f

    显示开机之后fork的使用情况

    -t

    增加时间戳到输出

    -m

    显示slab信息

    -n

    显示一次头信息,而不是间隔性的显示

    -d

    显示磁盘使用情况       

    -w

    -w增大了大内存的字段宽度。

    -p

    -p后面跟着一些分区名称以进行详细统计(所需的2.5.70或更高内核)

    -S

    设置容量单位。可是k、K、m、M,分别代表1000,1024,1000000,1048576字节

    -V

    显示版本信息

     

    3、VM模式的字段描述

    1)Proc

           r:等待运行时的进程数;b:不间断睡眠中的进程数。

    2)Memory

           swpd:使用的虚拟内存量;free:空闲内存量;buff:buffer缓冲使用内存量;cache:chace缓存使用内存量;incat:不活动的内存量;active:活动的内存量;

    3)Swap

           si:从磁盘交换的内存量(/s);so:交换到磁盘的内存量(/s)。

    4)IO

           bi:从块设备(块/s)接收的块;bo:发送到块设备(块/s)的块。

    5)System

           in:每秒中断的次数,包括时钟。;cs:每秒的上下文切换数。

    6)CPU

           us:运行非内核代码的时间。(用户时间,包括美好的时间);sy:运行内核代码的时间。(系统时间);id:空闲的时间(在Linux2.5.41之前,这包括IO-等待时间);wa:等待IO的时间(在Linux2.5.41之前,包含在空闲中);st:从虚拟机上偷来的时间(在Linux 2.6.11之前,未知)。

    4、磁盘模式的字段描述

    1)Reads

           total:成功完成读取总数;merged:分组读取(导致一个I/O);sectors:成功读取扇区;ms:读取的毫秒。

    2)Writes

           total:成功完成写入总数;merged:分组写入(导致一个I/O);sectors:成功写入扇区;ms:写入的毫秒。

    3)IO

           cur:I/O正在进行中;s:IO的秒数。

    5、磁盘分区模式的字段描述

           reads:向此分区发出的读取总数;read sectors:分区读取扇区总数;writes:向此分区发出的写入总数;request writes:分区写入扇区总数。

    6、slab模式的字段

           cache:cache的名字;num:当前活动对象的数量;total:可用的对象总数;size:每个对象的大小;pages:至少有一个活动对象的页数;totpages:分配页面总数;pslab:每个slab的页数。

     

    7、说明

           vmstat不需要特殊权限。这些报告旨在帮助识别系统瓶颈。Linux vmstat并不将自己视为一个正在运行的进程。所有Linux块当前为1024字节。旧内核可以将块报告为512字节、2048字节或4096字节。因为prps 3.1.9,vmstat允许您在默认模式下选择单位(k,K,m,M)默认为K(1024字节)。vmstat使用slabinfo 1.1修补程序

     

    8、实例

    1)显示虚拟内存使用情况 

    [root@localhost ntop-4.0.1]# vmstat -a

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

     r  b   swpd   free inact active   si   so    bi    bo   in   cs us sy id wa st

     0  0      0 336892 371548 811616    0    0     5     5   97   47  0  0 100 0  0

    You have new mail in /var/spool/mail/root

    [root@localhost ntop-4.0.1]# 

    2)显示开机后fork使用状况

    [root@localhost ntop-4.0.1]#vmstat –f            //显示开机后fork次数

            21739 forks

    [root@localhost ntop-4.0.1]#  

    3)显示磁盘信息

    [root@localhost ntop-4.0.1]#vmstat –d             //显示磁盘信息

    disk- ------------reads------------ ------------writes----------- -----IO------

           total merged sectors      ms  total merged sectors     ms    cur    sec

    ram0       0      0       0       0     0      0       0       0      0      0

    ram1       0     0       0       0      0      0      0       0      0      0

    ram2       0      0       0       0     0      0       0       0      0      0

    ram3       0      0       0       0     0      0       0       0      0      0

    ram4       0      0       0       0     0      0       0       0      0      0

    ram5       0      0       0       0     0      0       0       0      0      0

    ram6       0      0       0       0     0      0       0       0      0      0

    ram7       0      0       0       0     0      0       0       0      0      0

    ram8       0      0       0       0     0      0       0       0      0      0

    ram9       0      0       0       0     0      0       0       0      0      0

    ram10      0      0       0       0     0      0       0       0      0      0

    ram11      0      0       0       0     0      0       0       0      0      0

    ram12      0      0       0       0     0      0       0       0      0      0

    ram13      0      0       0       0     0      0       0       0      0      0

    ram14      0      0       0       0     0      0       0       0      0      0

    ram15      0      0       0       0     0      0       0       0      0      0

    loop0      0      0       0       0     0      0       0       0      0      0

    loop1      0     0       0       0      0      0      0       0      0      0

    loop2      0      0       0       0     0      0       0       0      0      0

    loop3      0      0       0       0     0      0       0       0      0      0

    loop4      0      0       0       0     0      0       0       0      0      0

    loop5      0      0       0       0     0      0       0       0      0      0

    loop6      0      0       0       0     0      0       0       0      0      0

    loop7      0      0       0       0     0      0       0       0      0      0

    sr0       56     45     404      30      0      0       0      0      0      0

    sda    43369 21298 1817706   37136  94895 126742 1685748  129957     0    114

    dm-0   63405      0 1808002   66652 210875      0 1685664  552283     0    114

    dm-1     322      0    2576     317      0      0       0      0      0      0

    [root@localhost ntop-4.0.1]# 

    做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用
    链接:https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ  密码:n7bk

  • 相关阅读:
    【MySQL】mysql实现将b表某列数据填充到a表
    Java集合包(十)——Set的两个实现类
    Java集合包(七)——Map实现类之LinkedHashMap原理
    Java集合包(九)——Map实现类之TreeMap原理
    Java集合包(八)——Map实现类之 WeakHashMap 原理分析
    Java集合包(六)——Map实现类之HashMap、HashTable 原理分析
    Java集合包(五)——Map接口及其子接口、抽象类
    Java集合包(四)——List实现类之LinkedList与Stack原理分析
    Java集合包(三)——List实现类之ArrayList与Vector原理分析
    Java集合包(二)——Collection接口及其子接口、抽象类 原理分析
  • 原文地址:https://www.cnblogs.com/wj78080458/p/10584826.html
Copyright © 2011-2022 走看看