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)显示虚拟内存使用情况
|
2)显示开机后fork使用状况
|
3)显示磁盘信息
|
做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用
链接:https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ 密码:n7bk