了解vmstat命令
文章目录
- 基本信息
- 选项说明
- 输出信息简介
- 参考文档
基本信息
vmstat报告虚拟内存的统计信息,用来向用户提供分析系统瓶颈问题的信息。
Usage:
vmstat [选项] [统计间隔 [次数]]
选项:
-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 define display unit
-w, --wide wide output
-t, --timestamp show timestamp
“统计间隔”是以秒为单位的刷新时间间隔。如果没有给出此时间,则显示系统启动至今的平均值。
“次数”指的是更新的次数。 如果没有指定此数而又定义了统计间隔,则默认无穷次。
示例:
# vmstat 3 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st2 0 264 82688 172 297208 0 0 63 10 50 112 0 1 99 0 00 0 264 82688 172 297208 0 0 0 0 45 79 1 0 99 0 00 0 264 82688 172 297208 0 0 0 0 32 70 0 0 100 0 00 0 264 82688 172 297208 0 0 0 0 34 69 0 0 100 0 00 0 264 82688 172 297208 0 0 0 0 41 77 0 0 99 0 0
第一行显示了计算机自上次重启至今的平均使用情况。后面的每一行信息是按“统计间隔”定期地显示系统的各部分信息。进程信息和内存信息都是即时产生的。
选项说明
- 您可以使用 -S 选项选择以千字节或兆字节为单位显示内存和交换统计信息。
- k:1000 bytes
- K: 1024 bytes
- m: 1000000 bytes
- M: 1048576 bytes
每10秒更新一次统计信息,以兆字节为单位显示内存和交换统计信息:
vmstat 10 -S M
请注意,-S选项不影响IO块统计信息。IO部分信息始终以块的形式显示。
- 如果使用 -a 选项,则buff和cache memory列将替换为“incat”和“active”列,这些数据显示了非活动和活动内存的数量。
# vmstat 3 5 -S M -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free inact active si so bi bo in cs us sy id wa st2 0 0 81 161 465 0 0 63 10 50 112 0 1 99 0 00 0 0 80 161 465 0 0 0 0 34 73 0 0 100 0 00 0 0 80 161 465 0 0 0 0 35 75 0 0 100 0 00 0 0 80 161 465 0 0 0 0 32 70 0 0 100 0 00 0 0 80 161 465 0 0 0 0 31 70 0 0 100 0 0
- 内核为它必须处理的众多不同类型的数据对象一次又一次地分配和释放内存。为了尽可能提高效率,它使用了一个名为slab的系统。这是一种缓存形式。
为特定类型的内核数据对象分配、使用的内存可以重新用于相同类型的另一个数据对象,无需释放和重新分配内存。可以将slab看作是预先分配的、可测量的、满足内核自身需求的RAM段。
要查看slab的统计信息,请使用 -m 选项。由于输出可能相当长,可以通过管道将结果传递给less。
vmstat -m | less
输出有5列:
Cache:缓存的名称。
num:此缓存中当前活动对象的数量。
total:此缓存中可用对象的总数。
size:缓存中每个对象的大小。
pages:代表内存页总数,每个内存页中至少具有一个与此缓存关联的对象。
- 您可以使用 -d(disk)选项获得类似的磁盘统计信息列表。
vmstat -d | less
对于每个磁盘,将显示三列,分别为读取、写入和IO。
IO是最右边的列。请注意,IO中的sec列以秒为单位,而read和write列中基于时间的统计数据以毫秒为单位。
# vmstat -d | less
disk- ------------reads------------ ------------writes----------- -----IO------total merged sectors ms total merged sectors ms cur sec
sda 13856 42 997627 232806 2862 1474 159957 525221 0 75
sr0 0 0 0 0 0 0 0 0 0 0
dm-0 13122 0 972701 231795 4313 0 155709 1075463 0 75
dm-1 88 0 4408 171 19 0 152 99 0 0
Reads
total:磁盘读取的总数。
merged:分组读取的总数。
sectors:已读入的扇区总数。
ms:从磁盘读取数据的总时间(毫秒)。
writes
total:磁盘写入的总数。
merged:分组写入的总数。
sectors:写入的扇区总数。
ms = 将数据写入磁盘所用的总时间(毫秒)。
IO
cur:当前磁盘读取或写入的次数。
sec:任何正在进行的读取或写入所花费的时间(秒)。
- 要查看与特定分区相关的统计信息,请使用 -p 选项并提供分区标识符作为命令行参数。
这里我们将看一看分区sda1。数字1表示这是设备sda上的第一个分区,sda是这台计算机的主硬盘驱动器。
# vmstat -p sda1
sda1 reads read sectors writes requested writes574 13174 4 4096
返回的信息显示该分区的磁盘读写总数,以及磁盘读写操作中包含的扇区数。
输出信息简介
Procs
r: 等待运行的进程数
b: 处在非中断睡眠状态的进程数
w: 被交换出去的可运行的进程数。
此数由 linux 计算得出,但 linux 并不耗尽交换空间
Memory
swpd: 虚拟内存使用情况,单位:KB
free: 空闲的内存,单位KB
buff: 被用来做为缓存的内存数,单位:KB
Swap
si: 从磁盘交换到内存的交换页数量,单位:KB/秒
so: 从内存交换到磁盘的交换页数量,单位:KB/秒
IO
bi: 发送到块设备的块数,单位:块/秒
bo: 从块设备接收到的块数,单位:块/秒
System
in: 每秒的中断数,包括时钟中断
cs: 每秒的环境(上下文)切换次数
CPU
按 CPU 的总使用百分比来显示
us: CPU 使用时间
sy: CPU 系统使用时间
id: 闲置时间
参考文档
[1]DAVE MCKAY. How to Use the vmstat Command on Linux[EB/OL]. [2019年6月19日]. https://www.howtogeek.com/424334/how-to-use-the-vmstat-command-on-linux.
[2]所罗门 . VMSTAT(8)[EB/OL]. [2000-11-26]. http://cmpp.linuxforum.net.
了解vmstat命令相关推荐
- w命令、vmstat命令、top命令、sar命令、noload命令
为什么80%的码农都做不了架构师?>>> 使用w命令查看系统负载 [root@yolks1 ~]# w23:05:05 up 1:18, 1 user, load averag ...
- Linux vmstat命令详细解读
vmstat命令:用来获得有关进程.虚存.页面交换空间及 CPU活动的信息 vmstat用法及参数: vmstat [-a] [-n] [-S unit] [delay [ count]] vmsta ...
- linux tf命令,Linux系统命令介绍之vmstat命令详解
今天小编要跟大家介绍的vmstat命令详解.熟悉Linux系统和使用Linux系统工作的小伙伴都知道Linux的命令有很多,而真正在工作中用到的命令应该不超过几十个,为了让大家更好的掌握这些命令,小编 ...
- 使用w查看系统负载、vmstat命令、top命令、sar命令、nload命令
使用w查看系统负载 系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数 如果一个进程满足以下条件则其就会位于运行队列中: 它没有在等待I/O操作的结果 它没有主动进入等待状态(也就是没有调用' ...
- 每天一个linux命令(46):vmstat命令
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深 ...
- vmstat命令使用
vmstat命令: 功能:显示虚拟内存的统计数据Report virtual memory statistics vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的 ...
- Linux 命令之 vmstat 命令-显示虚拟内存状态
介绍 vmstat 命令的含义为显示虚拟内存状态("Virtual Memory Statistics"),但是它可以报告关于进程.内存.I/O等系统整体运行状态. 常用选项 选项 ...
- Aix vmstat命令解析
1.1 Aix vmstat命令解析 1.1.1 概述 vmstat 命令报告内核线程.虚拟内存.磁盘.Traps.CPU 活动的统计数据. AIX <?xml:namespace prefix ...
- Linux磁盘下面有个mpatha,Linux中如何使用vmstat命令
Linux下vmstat 命令可用于报告虚拟内存的统计信息,除此之外,vmstat 命令还有很多用法,下面系统之家的小编将给大家做个vmstat 命令的详细介绍,以便你有个了解. 它是对系统的整体情况 ...
- Linux 命令(125)—— vmstat 命令
1.命令简介 vmstat(Virtual Memory Statistics)命令用于报告虚拟内存状态的统计信息. vmstat 不仅可以监测虚拟内存,也可监测进程.物理内存.内存分页.磁盘和 CP ...
最新文章
- JQuery -- this 和 $(this) 的区别
- android的listView组件
- 3.7 非极大值抑制-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- 信赖域反射算法求解非线性大规模边界约束极小化问题
- M2第五天DailyScrum——PM(李忠)
- SAP CDS view里将Date和time连接成timestamp的函数
- mysql里面有没有map类型_MySQL学习(二) 数据类型
- 使用标准库函数对象的例子
- 洛谷P2585 [ZJOI2006]三色二叉树
- echarts-formatter
- 微软Edge/IE11浏览器将禁用SHA-1证书网站
- ADB: unknown command ?
- 中兴网管无法连接服务器怎么办,中兴传输网管系统问答
- 【滤波器】3. 同相输入有源低通滤波器
- asp.net pdf如何转换成tif_PDF如何转换成PPT文档?怎么使用PDF转换成PPT的软件?
- php 改变图片大小,php修改图片大小的方法
- sfm三维重建源码_多视图几何三维重建实战系列之COLMAP
- 软考高级:信息系统项目管理师-计算机信息系统集成高级项目经理挂靠
- dlib 面部表情跟踪
- phpexcel中文手册(转)