shell入门系列(六)vmstat

  • 2019 年 10 月 5 日
  • 筆記

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qq_37933685/article/details/86146032

文章目录

  • shell入门系列( 六 )vmstat
    • 简介
    • 入门小案例
      • 每列的意义
      • 1. 列出活动和非活动的内存
      • 2. 每X秒执行vmstat,共执行N次
      • 3. 带时间戳的vmstat命令
      • 4. 统计各种计数器
      • 5. 磁盘统计信息
      • 6. 以MB为单位输出统计信息
    • 参考文章
    • 我的主页

shell入门系列( 六 )vmstat

简介

这是Linux命令和性能监控系列的一部分。vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris)

如果vmstat和iostat命令在你的系统中不可用,请安装sysstat软件包。vmstat,sar和iostat命令都包含在sysstat(系统监控工具)软件包中。iostat命令生成CPU和所有设备的统计信息。你可以从这个连接中下载源代码包编译安装sysstat,但是我们建议通过命令进行安装;

入门小案例

每列的意义

常用的:

Free – 空闲的内存空间

si – 每秒从磁盘中交换进内存的数据量(以KB为单位)。

so – 每秒从内存中交换出磁盘的数据量(以KB为单位)。

具体的:

建议使用man vmstat 查看具体,vmstat 分模式分字段的,下面是vm模式下的

proc: ​ r:可运行进程的数量(正在运行或等待运行时)。

b:不间断睡眠中的进程数。

memory:

swpd:使用的虚拟内存量。

free:空闲内存量。

buff:用作缓冲区的内存量。

cache:用作缓存的内存量。

inact:非活动内存量。 (-a选项)

active:活动内存量。 (-a选项)

io:

bi:从块设备接收的块(块/ s)。

bo:发送到块设备的块(块/ s)。

system:

in:每秒的中断数,包括时钟。

cs:每秒上下文切换次数。

CPU:

us:运行非内核代码所花费的时间。 (用户时间,包括美好时光)

sy:运行内核代码所花费的时间。 (系统时间)

id:空闲时间。 在Linux 2.5.41之前,这包括IO等待时间。

wa:等待IO的时间。 在Linux 2.5.41之前,包含在空闲状态。

st:从虚拟机中窃取的时间。 在Linux 2.6.11之前,未知。

1. 列出活动和非活动的内存

vmstat -a 

效果

2. 每X秒执行vmstat,共执行N次

vmstat 2 6 每2秒执行一次,执行6次

vmstat 2 3

效果

3. 带时间戳的vmstat命令

带-t参数执行vmstat命令,该命令将会在每一行输出后都带一个时间戳

vmstat -t 2 3

效果

4. 统计各种计数器

vmstat命令的-s参数,将输出各种事件计数器和内存的统计信息。

vmstat -s

效果

5. 磁盘统计信息

vmstat的-d参数将会输出所有磁盘的统计信息。

vmstat -d

效果

6. 以MB为单位输出统计信息

vmstat的-S和-M参数(大写和MB)将会以MB为单位输出。vmstat默认以KB为单位输出统计信息。

vmstat	-S M 2 3

效果

参考文章

系统运维

我的主页