vmstat——Virtual Memory Statistics(虚拟内存统计)
1. 作用
检测系统资源变化,可以检测CPU/内存/磁盘输入输出状态等。
2. 用法
vmstat 【参数】【间隔秒数】【检测次数】
参数:
-a:使用inactive/active(活跃与否)替代buffer/cache的内存输出信息;
-f:开机到目前为止系统复制(fork)的进程数;
-s:将一些事件(开机到目前为止)导致的内存变化情况列表说明;
-S:后面可以接单位,让显示的数据有单位。例如K/M取代bytes的容量;
-d:列出磁盘的读写总量统计表;
-p:后面列出分区,可显示该分区的读写总量统计表。
3. 范例
3.1 vmstat
显示虚拟内存使用情况:
字段说明:
1)procs 进程
r:等待运行中的进程数量;
b:不可被唤醒的进程数量。
这两个选项越多,代表系统越忙碌(因为系统太忙,所以很多进程就无法被执行或一直在等待而无法被唤醒)。
2)memory 内存
swpd:虚拟内存被使用的容量;
free:未被使用的内存容量;
buff:用于缓冲存储器;
cache:用于高速缓存。
3)swap 内存交换空间
si:由磁盘中将程序取出的量;
so:由于内存不足而将没用到的程序写入到磁盘的swap的容量。
如果si/so的数值太大,表示内存中的数据经常得在磁盘与内存之间传来传去,系统性能会很差。
4)io 磁盘读写
bi:由磁盘写入的块数量;
bo:写入到磁盘去的块数量。
如果这部分的值越高,代表系统的IO非常忙碌。
5)system 系统
in:每秒被中断的进程次数;
cs:每秒进行的事件切换次数。
这两个值越大,代表系统与接口设备的通信非常频繁,这些接口设备包括磁盘、网卡、时钟等。
6)cpu
us:非内核层的CPU使用状态,us的值比较高时,说明用户进程消耗的CPU时间多;
sy:内核层所使用的CPU状态,sy的值高时,说明系统内核消耗的CPU资源多;
id:闲置的状态;
wa:等待IO所耗费的CPU状态,wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作);
st:被虚拟机所盗用的CPU使用状态。
3.2 vmstat 1 3
每秒1次,共计3次:
3.3 vmstat -a
使用inactive/active替代buffer/cache:
3.4 vmstat -f
开机到目前为止系统复制(fork)的进程数:
3.5 vmstat -s
将一些事件(开机到目前为止)导致的内存变化情况列表说明:
3.6 vmstat -S M
以MB为单位显示:
3.7 vmstat -d
列出磁盘的读写总量统计表:
3.8 vmstat -p /dev/sda1
显示该分区的读写总量统计表: