Windows内存性能分析(二)性能瓶颈

内存瓶颈: 由于可用内存缺乏导致系统性能下降的现像。

(一)、相关的性能对象

主要考虑内存的页面操作和磁盘的I/O操作,需要考虑如下性能对象:

Memory性能对象: 用于分析整个系统的内存瓶颈问题。

Process性能对象: 分析某个应用的内存性能瓶颈问题。

Physical Disk性能对象,与内存性能瓶颈被动相关。

 

(二)、几个重要性能计数器

Available MBytes/KBytes: 显示当前系统可用的内存数值,如果经常性的可用内存小于物理内存的一半,说明系统负担有点儿重,可以考虑增加内存。

这是我电脑的可用内存,2G的物理内存,说明也需要增加内存了。

Pages/sec、Pages Input/sec、Page Reads/sec、Page Faults/sec: 这几个计数器在Memory和Process都有,代表整个内存和单个进程的页面操作信息。用于分析整个系统或关注的程序使用内存的状况。

Pages/sec: 每秒pages Input(硬页面错误发生时,程序从虚拟内存读取页面)和Page Output(程序向虚拟内存写入页面)的和。

Page Faults/sec: 硬页面错误次数和软页面错误次数相加的和。

Page Reads/sec: 硬页面错误发生时,程序读取虚拟内存的次数。

 

(三)、可能存在内存瓶颈的几种情况

1. 如果Page Reads/sec 平均值经常性的超过5。下图是我电脑上的计数器值,目前看来值还比较小,说明不存在内存性能瓶颈。

2. 如果Pages Input/sec比较大,平均值达到10或者更多。下图说明不存在内存性能瓶颈。

3. 如果Pages Input/sec 除以 Page Faults/sec大于50%。将上图的平均值与下图的平均值进行对比,说明不存在内存性能瓶颈。

4. 如果Page Reads/sec 大于 Pages Input/sec,将图4与图2进行对比,说明不存在内存性能瓶颈。

 

说明:

1. Page Reads/sec 与Pages Input/sec的区别: 前者是指每秒读取虚拟内存的次数,后者是指每秒从虚拟内存读取的页面数。

程序的代码和数据可能存储在工作集(A)、虚拟内存(B)、内存的其他地方(C)。从工作集(A)读取速度最快,从虚拟内存(B)读取速度最慢。

2. 硬页面错误: 如果程序所需的数据在A中找不到,必须在B中才能找到,这种情况叫做硬页面错误。

3. 软页面错误: 如果程序所需的数据在A中找不到,必须在C中才能找到,这种情况叫做软页面错误。

 

posted @ 2017-04-17 21:43  皇上二大爷  阅读(2851)  评论(0编辑  收藏  举报