vmstat 是一个查看系统虚拟内存使用情况的命令,通过这个命令,可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。
什么是Linux的虚拟内存
在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。
当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。
其输出各个字段如下所示如下:
vmstat 5 5(每隔5秒采样一次,一共5次)
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 10868 18276 6956 2116176 0 0 5 4 0 0 2 1 96 0
2 0 10868 17636 6972 2116420 0 0 0 195 1598 1593 4 2 93 0
1 0 10868 17764 6988 2116924 0 0 0 166 1566 1544 4 2 93 0
2 0 10868 17332 7016 2117416 0 0 1 202 1649 1706 4 2 94 0
0 0 10868 16628 7024 2117668 0 0 0 186 1957 1820 5 3 92 0
下面针对各项输出进行解释,并附上一些相应的经验值
procs
r:在运行队列中等待的进程数,展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现相应的CPU瓶颈了
b:在等待io的进程数
memoy
swpd:正在使用的swap大小(单位KB),即:进入到虚拟内存的内存数量,该值大于0,表示物理内存不足;不过如果该值比较大了,但是si、so的值长期为0,表示系统性能还是正常。
free:空闲的物理内存空间(单位KB)
buff: 已使用的buff大小,对块设备的读写进行缓冲(单位:KB)
cache:已使用的cache大小,文件系统的cache(单位:KB)
swap
si: 从磁盘交换到内存的交换页数量,单位:KB/秒
so: 从内存交换到磁盘的交换页数量,单位:KB/秒
io
bi: 从块设备读入的数据总量(读磁盘) (KB/s)
bo: 写入到块设备的数据总理(写磁盘) (KB/s)
system
in: 每秒的中断数,包括时钟中断
cs: 每秒的环境(上下文)转换次数
cpu
us:用户进程消耗的CPU时间百分比
us的值越高,说明用户进程消耗的CPU时间越多。但是如果长期超过50%的话,应该考虑用户应用程序的优化
sy:内核进程消耗的CPU时间百分比
一般来说,如果sy的值长期处于高位,尽管其他指标也运行正常,但是这个并非系统运行良好的情况,需要进一步分析原因
id:cpu空闲以百分比
wa:io等待消耗的CPU时间百分比
wa的值比较高,说明IO等待比较严重,可能的原因:1)磁盘大量的随机访问;2)磁盘的带宽出现瓶颈
vmstat的瓶颈:无法对某一个进程进行深入分析。
关于CPU监控这块,需要结合上面的几个指标来一起分析:
1)运行队列,单个CPU极限运行不超过3
2)CPU满负荷运行,其分布符合:
a) User Time:65%~70%
b) System Time:30%~35%
c) Idle:0%~5%
3)上下文切换,如果CPU符合上述70/30规则,则大量的上下文切换也没关系
相关推荐
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都...
Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。...下文将介绍几个较为重要的性能分析工具vmstat、iostat和sar及其使用。
VMSTAT 用法 。
sar与vmstat命令简介 vmstat命令报告内核线程,虚拟内存、磁盘、陷阱、和CPU活动情况。 Kthr 线程活动情况 r 运行队列 b 等待队列
vmstat核心源代码注释,对理解Linux下的工具原理挺有帮助。
vmstat结果内容的解释,和大家共享一下
AIX的vmstat命令详解,有图有真相。
Vmstat是android toolbox提供的众多工具中的一个,源码位于 /system/core/toolbox/下的vmstat.c。其实现原理是在一定时间内(可通过-d命令设置,默认是1秒),读取并分析系统/proc文件系统下的 meminfo、stat和vmstat...
AIX上的vmstat的报告输出解释和命令基本用法
vmstat详解.
linux vmstat命令详解和使用实例.docx
vmstat命令详解
vmstat 命令详解
vmstat命令详细说明,用于系统监控和性能测试使用
通过该命令可以查看系统负载,指导用户做好系统维护
Linux系统命令源码包,包含Top,Free,ps,kill等命令
vmstat命令详解
vmstat是Virtual Meomory Statistics的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。iostat是I/O statistics的缩写,iostat工具将...
vmstat命令的含义为显示虚拟内存状态(“Virtual Memory Statistics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。 语法格式:vmstat [参数] 常用参数: -a 显示活动内页 -f 显示启动后创建的...