51Testing软件测试论坛

标题: 性能监控:Pool Nonpaged Bytes(memory)值过高是什么原因? [打印本页]

作者: wxq8102    时间: 2007-9-19 17:15
标题: 性能监控:Pool Nonpaged Bytes(memory)值过高是什么原因?
在做性能测试时,直接监控windows资源,Pool Nonpaged Bytes (memory)值一直在90%以上,在压力测试的过程中,该值也是这么高,这个主要是什么原因呢?
  该值定义:指在非分页池中的字节数,非分页池是指系统内存(操作系统使用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁盘上 而且只要分派过就必须保留在物理内存中的对象)使用的一个区域。Memory: Pool Nonpaged Bytes 的计数方式与 Process: Pool Nonpaged Bytes 的计数方式 不同,因此可能不等于Pool Nonpaged Bytes: _Total。 这个计数器仅显示上一次观察的值;而不是一个平均值。
问题:这个值这么高说明有什么问题?

其它关于内存的指标:
   Available bytes(memory):30%左右
   page faults/sec(memory):45%
   
cpu  平均为51%
那位高手帮忙指点一下,谢谢!
作者: shanxi    时间: 2007-9-19 19:45
未分页池(nonpaged pool)是常驻内存的虚拟内存页设置,能被随时访问并且不造成分页错误。设备驱动和操作系统内核使用它存储那些必须常驻物理内存并且不得分页存储到硬盘上的数据结构。

未分页池有两种类型:一种作为通常的使用,令一种小的部分(4页)留给紧急状态当未分页池满并且调用者无法忍受分配的失败。单处理器系统有3个未分页池,多处理器系统有5个未分页池。

未分页池有容量极限:Windows NT-128MB,Windows 2K-256MB。内核函数和设备驱动如果需要实时内存缓冲并不允许它分页到当前系统之外,就得从未分页池中分配内存。如果程序在这个分配过程存在着内存泄漏,它终将耗尽所有的未分页池空间,并导致之后对未分页池的请求失败,最后未分页池越界造成当前操作系统蓝屏。

未分页池和分页池可以从注册表"HKLM\SYSTEM\ CurrentControlSet\Control\Session Manager\Memory Management"中预设,从0到极限值。

[ 本帖最后由 shanxi 于 2007-9-19 19:55 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2