一、简介
vmstat命令(Virtual Meomory Statistics),是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析cpu上下文切换和中断的次数。
语法格式如下:
vmstat [options] [delay [count]]
options代表可用参数
delay 代表每次采集数据的时间间隔 ,单位秒
count 代表采集几组数组
二、常用参数
-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、采集2组数组,时间间隔为5s
字段描述:
Procs(进程):
r: 运行队列中进程数量
b: 等待IO的进程数量
Memory(内存):
swpd: 使用虚拟内存大小
free: 可用内存大小
buff: 用作缓冲的内存大小
cache: 用作缓存的内存大小
Swap:
si: 每秒从交换区写到内存的大小
so: 每秒写入交换区的内存大小
IO:
bi: 每秒读取的块数
bo: 每秒写入的块数
系统:
in: 每秒中断数,包括时钟中断。
cs: 每秒上下文切换数。
CPU(以百分比表示):
us: 用户进程执行时间(user time)
sy: 系统进程执行时间(system time)
id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。
wa: 等待IO时间
四、补充
1、物理内存和虚拟内存
物理内存就是系统硬件提供的内存大小,是真正的内存。
我们知道,从物理内存中读取数据要比从硬盘上面读取数据要快,针对程序需要使用的数据,我们希望都是从物理内存中读取。但物理内存,毕竟是有限的。为了满足物理内存的不足,于是,就有了虚拟内存。
虚拟内存,作为物理内存的扩展,是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。
linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。
2、linux内存运行机制
a、linux系统会不间断地把物理内存中,不需要使用的数据,存储到虚拟内存,以保持有更多的空闲物理内容
b、linux系统采用缓存淘汰算法,将一些不经常使用的数据页,交换到虚拟内存。
c、虚拟内存中数据页,在使用的时候,会被加载到物理内存。
若您感觉本站文章不错,读后有收获,不妨赞助一下?
我要赞助