注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

曹兆领的博客

有志者事竟成,破釜沉舟,百二秦关终属楚!

 
 
 

日志

 
 

vmstat 结果分析  

2011-11-03 18:57:58|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
vmstat命令用来获得有关进程、虚存、页面交换空间及CPU活动的信息。这些信息反映了系统的负载情况。vmstat首次运行时显示自系统启动开始的各项统计信息,之后运行vmstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
有关进程的信息有:
r :在就绪状态等待的进程数。(如果这个数字超过CPU数量就要注意了!)
b :在等待状态等待的进程数。(说白了就是阻塞状态的进程数,比CPU数目高肯定有问题)
有关内存的信息有:

swpd 已使用虚拟内存大小,如果大于0就表示你的机器物理内存不足了(真的不足还是内存泄露?)

free  :空闲的物理内存的大小。
buff   存储目录内容,权限等的缓存

cache cache直接用来存储打开文的缓冲 sync后,使用echo 1(2,3) > /proc/sys/vm/drop_caches分别进行释放吧!

有关页面交换空间的信息有:

si  每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了.

so  每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

bi  块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备

bo 块设备每秒发送的块数量.例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就意味着IO操作过于频繁,需要进行调整。

in 每秒CPU的中断次数,包括时间中断(中断太多了肯定有问题)

cs 每秒上下文切换次数。这个越小越好。太大了,要考虑调低线程或者进程的数目,例如在apache服务器中,做性能测试时会进行几千并发甚至几万并发的测试,这时就要设置合适的进程数。系统层面的调用也是同样的道理。CS值过大表示上下文切换过于频繁,会消耗很多资源(CPU浪费在上下文切换没有充分利用)。

us 用户CPU时间(百分比)。

sy 系统CPU时间(百分比),如果太高,表示系统调用时间长,例如是IO操作频繁。

id  空闲 CPU时间(百分比),一般来说,id + us + sy = 100

wt 等待IO的 CPU时间(百分比),过大就意味着CPU和IO操作需要调整


vmstat 可以用来确定一个系统的工作是受限于CPU还是受限于内存:如果CPU的sy和us值相加的百分比接近100%,或者运行队列(r) 中等待的进程数总是不等于 0,则该系统受限于CPU;如果pi、po的值总是不等于0,则该系统受限于内存。
vmstat运用举例:
vmstat –f   : 显示系统中的子进程数。
vmstat –s   : 显示系统中不同的事件。
vmstat –i   : 显示系统的中断数。
vmstat hdisk0 hdisk1: 显示hdisk0 、hdisk1的使用情况。
vmstat 1 10  :每隔一秒显示一次系统的运行状况,共显示10次。
  评论这张
 
阅读(572)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017