linux命令——vmstat,linuxvmstat


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

显示该分区的读写总量统计表:

 

相关内容

    暂无相关文章