文章参考书籍
- Linux性能优化
其他博客
- https://www.cnblogs.com/tommyli/p/3746187.html
vmstat需要知道几个概念:
交换
缓冲区(buffer)/缓存(cache)
活跃与非活跃内存
高端与低端内存
页面交换空间
一、命令格式
Usage:
vmstat [options] [delay [count]]
Options:
-a, --active active/inactive memory
-f, --forks number of forks since boot
-m, --slabs slabinfo
-n, --one-header do not redisplay header
-s, --stats event counter statistics
-d, --disk disk statistics
-D, --disk-sum summarize disk statistics
-p, --partition <dev> partition specific statistics
-S, --unit <char> define display unit
-w, --wide wide output
-t, --timestamp show timestamp
-h, --help display this help and exit
-V, --version output version information and exit
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量 。
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
-d:显示磁盘相关统计信息。
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
-V:显示vmstat版本信息。
二、命令实战
1、 获取虚拟内存
vmstat -s
云服务可能会出现一个现象,使用free 查看与购买的云ECS产品规格不一致可使用vmstat -s 获取信息,可以查看到与购买的实例规格信息一致。
2、获取活跃与非活跃内存
vmstat -a
3、vmstat格式对齐显示
vmstat -w
4、打印4次每次5秒信息,并且显示时间格式且对齐
vmstat -wt 5 4
5、显示磁盘I/O信息
vmstat -D
- disks: 磁盘总数
- partitions: 分区总数
vmstat -d
6、查看卷分区信息
vmstat -p vda1 1 3