MSN: luxuabc@hotmail.com

浅析Windows内存计数器

上一篇 / 下一篇  2008-03-24 20:36:17 / 个人分类:性能测试技术

   最近测试中发现Windows服务器的速度很慢,发现是内存造成瓶颈,现在将Windows内存检测的一些方法总结一下。Windows内存中有三个数据很重要,Pages/sec, Available Bytes和Committed Bytes.

   在测试中内存的缺少会造成频繁的页错误,导致系统不停在磁盘和内存中交换数据,有可能表现出IO瓶颈的现象,实则内存不足。在页错误中,有分为硬件错误和软件错误,硬件错误是指程序需要的数据不在内存中需要从硬盘读取,软件错误是指数据还在内存的缓存中但已不再程序的驻留内存里,需要从内存的其他地方读取。访问硬盘比内存要慢几个数量级,所以当系统出现很多硬件页错误时候,系统就会慢的很多,成为系统产生抖动。

   如何发现硬件页错误呢?通过在性能监视器里监控一下指标:

Memory\Pages/sec, Process(All_process)\Working Set, Memory\Pages Input/sec

Memory\Pages Output/sec

同时可以通过一下计数器看到内存和磁盘之间的频繁交换:

Memory\Page Reads/sec, PhysicalDisk\Disk Reads/sec,

PhysicalDisk\Avg.Disk Read Bytes/sec

其中,Pages/sec是指由于硬件页错误而引起的页交换数量等于Pages Input/sec和Pages Output/sec的总和。Page Faults/sec是页错误的数量包括硬件的和软件的。

因此总结下来,当Pages/sec大于10的时候就表明系统存在抖动(thrashing),当Available Bytes小于4MB时就说明系统内存不足,Committed Bytes的数值明显大于内存总量的时候,系统就应该增加内存。

有一点值得注意的是,如果某个程序连续的读取内存映像文件(Memory Mapping file)的时候也会造成Pages/sec变的很大,但此时不能认定系统出现抖动,我们还要参考其他数值来确定是否内存出现瓶颈。


TAG: 性能测试技术

 

评分:0

我来说两句

Open Toolbar