天天看点

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

        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

做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用

链接:https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ  密码:n7bk 

继续阅读