当系统文件缓存耗用大量物理 RAM,您会遇到应用程序和服务中的性能问题

文章翻译 文章翻译
文章编号: 976618 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

您会遇到应用程序中的性能问题和各种版本的 Windows XP、 Windows Vista、 Windows Server 2003,Windows Server 2008 中和 Windows Server 2008 R2 中的服务。此外,您注意到下列症状:
  • 可用内存是几乎耗尽。
  • 系统文件缓存耗用大量物理 RAM。
  • 没有持续和高到硬盘的缓存读取请求的卷。

原因

在 Microsoft Windows 操作系统的内存管理使用基于需求的算法。如果任何处理请求 并使用 大量的内存,该进程的工作集 (物理 RAM 中可用内存页面数) 的大小会增加。如果这些请求是连续的和未选中,则将增长进程的工作集占用所有的物理 RAM。在此情况下,其他所有进程的工作集调出到硬盘上。此行为会使性能下降的应用程序和服务由于连续写入硬盘,并且从硬盘中读取内存页。

这种现象也适用于系统文件缓存的工作集。如果没有持续和高卷的缓存读请求从任何进程或从任何驱动程序,系统文件缓存的工作集大小将增长,以满足这一需求。系统文件缓存使用的物理 RAM。因此,足够的物理内存量并不用于其他过程。

在 32 位版本的 Microsoft Windows 操作系统早于 Windows Vista 中,系统文件缓存的工作集是有理论内存限制为小于 1 千兆字节 (GB)。虚拟地址范围的限制可以防止系统文件缓存的工作集耗尽的物理 RAM。

在 32 位版本的 Windows Vista 操作系统,动态分配核心资源。系统文件缓存的工作集增加占用的内核模式,而忽略其他内核资源的虚拟地址范围。此内存范围的限制是不超过 2 GB。如果计算机有多个 2 GB 的物理 RAM,高速缓存无法用尽所有的物理 RAM。但是,缓存可以消耗内核虚拟地址空间。这可能会导致其他内核组件分配失败。

在 64 位版本的 Windows 操作系统中,虚拟地址范围的大小大于通常的物理 RAM。在此情况下,系统文件缓存的工作集可以增加占用的物理 RAM 的大多数。

替代方法

若要变通解决此问题,请使用GetSystemFileCacheSize API 函数和SetSystemFileCacheSize API 函数来设置系统文件缓存的工作集的最大值或最小大小值。这些函数的用法是唯一受支持的方法,以限制系统文件缓存的物理内存的消耗。

Microsoft Windows 动态缓存服务是示例服务,演示如何使用这些 Api 来尽量减少此问题的影响的一种策略。

安装和使用 Microsoft 动态缓存服务不会排除对 Microsoft Windows 的支持。作为举例说明如何使用 Microsoft 支持的 Api 来减少文件系统缓存的增长提供此服务,它的源代码。

可以从以下 Microsoft 网站获得的服务和源的代码:

http://www.microsoft.com/downloads/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang=en

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

更多信息

在 Windows 7 和 Windows Server 2008 R2 操作系统的内存管理算法已更新,可以解决很多文件缓存在 Windows 的早期版本中发现的问题。有只具有用来在计算机正在运行 Windows 7 或 Windows Server 2008 R2 上实现此服务,某些特殊情况。

如何确定您的系统是否受影响

要确定您的系统是否受此问题,请安装 SysInternals RamMap 工具。您可以从以下 Windows Sysinternals 网站获取该工具:

http://technet.microsoft.com/en-us/sysinternals/ff700229

运行该工具时,选择使用计数选项。这将显示多个列,以显示当前模式的内存使用情况。单击活动列进行排序使用字节数,并记下直接在总计下的最高的使用率。

如果顶部使用计数是"图元文件,",并使用了大部分可用的内存,如果您遇到"症状"一节中描述的系统文件缓存问题。可以对其进行如此验证: 即通过使用性能监视器监视的Memory\System 高速缓存驻留字节计数器并查看随着时间的推移不断增长的缓存中。

图 1。RamMap 输出示例的计算机出现了问题。

收起这个图片展开这个图片
rammap1


图 2。RamMap 输出示例计算机时没有遇到问题。

收起这个图片展开这个图片
rammap2


如果在性能监视器中的Memory\System 高速缓存驻留字节计数器显示一段时间的上升趋势,计算机如图 3 所示出现问题。

图 3。在计算机遇到问题随着时间的推移,示例性能监视器输出。

收起这个图片展开这个图片
perfmon

重新启动要求

您不需要重新启动计算机时安装、 卸载,也可以使用此服务。

属性

文章编号: 976618 - 最后修改: 2014年3月6日 - 修订: 8.0
这篇文章中的信息适用于:
  • Microsoft Windows XP Professional x64 Edition
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Ultimate
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Microsoft Windows Server 2003 R2 Datacenter Edition (64-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise Edition (64-Bit x86)
  • Microsoft Windows Server 2003 R2 Standard Edition (64-Bit x86)
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Windows Server 2008 Datacenter without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Service Pack 1
  • Windows Server 2008 R2 Standard
关键字:?
kbexpertiseinter kbtshoot kbsurveynew kbprb kbmt KB976618 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 976618
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com