vmstat参数状况分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vmstat参数状况分析相关的知识,希望对你有一定的参考价值。

vmstat:用于显示虚拟内存的工具
一、命令格式:
iostat[参数][时间][次数]
[[email protected]_A ~]# vmstat 1 2 每隔一秒显示一次共显示两次。
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 1688 93400 47764 207544 0 0 1 1 6 5 0 0 100 0 0
1 0 1688 93384 47764 207544 0 0 0 0 37 21 0 0 100 0 0
二、参数解释及分析
r:运行队列(多少个进程在真的分配到了CPU),如果这个值超过了CPU的值,说明CPU可能会遇到性能瓶颈。
b:表示阻塞的进程
swpd:虚拟内存已使用的大小,如果这个值大于0,说明内存不够用了,但是也要看si和so的值,如果swpd的值不为0,但是si和so的值长期为0,此时不会影响系统性能。
free:空闲的物理内存的大小。
buff:存储目录里面有什么内容、权限等的缓存。
cache:记忆我们打开的文件,给文件做缓冲。
备注:把空闲内存的一部分拿来做缓冲,为了提高程序执行的性能,当程序使用内存时,buffer/cache会很快的被使用。
si:可以理解为swapin,每秒从磁盘读入虚拟内存的大小,如果这个值大于0,说明内存不够用了。
so:同上理解为swapout,每秒从虚拟内存读出至磁盘的大小,如果这个值大于0,说明内存不够用了。
bi:块设备每秒接受的块数量。写入时此数值会变大
bo:块设备每秒发送的块数量。读出时此数值会变大
in:每秒CPU的中断次数。
cs:每秒上下文切换次数,例如系统函数的调用,线程的切换都需要进行上下文切换。
us:用户进程消耗CPU时间
sy:系统进程消耗CPU时间
id:空闲CPU时间
备注:us+sy+id=100,当us+sy的值接近100时,说明CPU满负荷工作,但是CPU满负荷工作并不能代表什么,因为kernel总是会让CPU跑起来,使得任务的吞吐量最大化。因此判断CPU出现瓶颈的关键因素还是r(运行队列)
wa:等待IP CPU时间

以上是关于vmstat参数状况分析的主要内容,如果未能解决你的问题,请参考以下文章

通过命令vmstat查看Linux系统负载性能,查看分析信息详解

Linux运维之系统性能瓶颈工具vmstat分析

vmstat参数解释

性能测试系统监控

vmstat命令参数介绍

Linux vmstat命令