关于非页面缓冲池和Application Experience Lookup Service

非页面缓冲池是个很让人迷惑的问题,下面让我们来了解它。先看一下操作系统的参数对比:
结构组件:
               64 位 Windows     32 位 Windows
虚拟内存           16 TB                     4 GB
页面文件大小       512 TB                   16 TB
超空间             8 GB                     4 MB
页面缓冲池         128 GB                 470 MB
非页面缓冲池       128 GB                 256 MB
系统缓存           1 TB                     1 GB
System PTE           128 GB                 660 MB


虚拟内存
这是扩展计算机上可用物理内存的一种方法。操作系统在虚拟内存系统中创建一个页面文件或交换文件,并将内存划分为若干个称为页面的单位。最近引用的页面位于物理内存或 RAM 中。在一段时间内未被引用的内存页面则会写入页面文件。此过程称为“交换”或“调出”内存。如果稍后有程序引用这段内存,操作系统便会将内存页面从页面文件重新读回到物理内存中,此过程称为“交换”或“调入”内存。程序的可用内存总量等于计算机物理内存量加上页面文件大小。就短期看来,有一个需要注意的重要事项,那就是即便是 32 位应用程序,当它们在 Windows x64 Edition 中运行时,也会从增加的虚拟内存地址空间中受益。对于那些必须用 /LARGEADDRESSAWARE 选项编译才能利用 32 位 Windows 中 /3GB 开关的应用程序,将能够自动寻址 4 GB 的虚拟内存,而无需任何启动时开关,也无需更改到 x64 Windows。此外,操作系统当然也无需共享该 4 GB 的空间。因此不存在任何约束。

页面文件
这是计算机用于提高虚拟内存物理存储量的一个磁盘文件。

超空间
这是一个特殊区域,用于映射进程工作集列表,并为某些操作临时映射其他物理页面,这些操作的示例有:将空闲列表上的页置零(当零列表为空,且需要零分页时)、使其他页表中的页表项无效(例如当从备用列表中删除某一页面时),以及在创建进程时设置新进程的地址空间。


页面缓冲池
这是系统空间中的一个虚拟内存区域,可被调入和调出系统进程的工作集。页面缓冲池在系统初始化期间创建,内核模式组件用它来分配系统内存。单处理器系统有两个页面缓冲池,多处理器系统有四个页面缓冲池。具有多个页面缓冲池可以降低系统代码块同时调用缓冲池例程的频率。

非页面缓冲池
这是一个包含各种系统虚拟地址范围的内存池,这些地址范围可以保证始终驻留在物理内存中,因此从任何地址空间均可进行访问,而不会产生页面输入/输出 (I/O)。非页面缓冲池在系统初始化期间创建,内核模式组件用它来分配系统内存。

系统缓存
这些页面用于在系统缓存中映射打开的文件。

System PTE
系统页表项 (PTE) 池,用于映射各种系统页面,例如 I/O 空间、内核堆栈和内存描述符列表。 64 位程序使用 16 TB 调整模式(8 TB 用于用户,8 TB 用于内核)。32 位程序仍使用 4 GB 调整模式(2 GB 用于用户,2 GB 用于内核)。这意味着在 64 位 Windows 版本上运行的 32 位进程可以按 4 GB 调整模式(2 GB 用于用户,2GB 用于内核)运行。64 位 Windows 版本不支持在启动选项中使用 /3GB 开关。从理论上讲,64 位指针最多可以寻址 16 EB。64 位 Windows 版本目前已实现了高达 16 TB 的地址空间。

故障问题:win2003  32位操作系统只有256M的非页面缓冲池,当该资源耗尽的时候系统会出现各种故障——如挂载和使用仲裁盘故障,进一步引发Cluster故障,让人很是郁闷。

    当生产服务器每隔2个半月的时间将非页面缓冲池的资源耗尽后会就出现event  id为“2019”的报错,且出现Cluster故障。重启服务器后,非页面缓冲池资源获得释放,就又开始一轮新的内存泄露直至资源耗尽。
    这是一个微软的系统漏洞造成的。服务器上的 Application Experience Lookup Service 存在内存泄露问题(详情参见微软 kb922757)。因为此漏洞,每天都会占用3.6M的“非页面缓冲池”(non-page pool)。
   解决: 在应用了热补丁之后,14天的时间里非页面缓冲池只占用了1.00M(1052064byte),所以可以判断故障已经修复。  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值