RAM、 虚拟内存、 页面文件和 Windows 中的内存管理

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

本文内容

概要

这篇文章包含 32 位版本的 Windows 中的虚拟内存实现有关的基本信息。此信息涉及 Windows 2000、 Windows XP、 Windows Server 2003,Windows Vista 和 Windows Server 2008。(仅在 64 位版本中可用的 Windows Server 2008 R2,因为此信息不适用于它。)

更多信息

在现代操作系统 (例如 Windows)中,应用程序和许多系统进程始终通过使用虚拟内存地址引用内存。虚拟内存地址自动将硬件转换为实际 (RAM) 的地址。只是操作系统内核的核心部分绕过此地址转换,并直接使用实际的内存地址。

虚拟内存一直被使用,即使所有运行进程所需的内存不超过系统上安装的 RAM 量。

这篇文章的扩展的版本出现在布鲁斯 Sanderson Windows 网络日志上。若要查看这篇文章,请访问下面的博客网站:
布鲁斯 Sanderson Windows 的常规信息: 内存、 虚拟内存、 页面文件,以及所有那些

进程和地址空间

在 32 位版本的 Windows 下运行的所有进程 (例如,应用程序可执行文件) 都分配虚拟内存地址 (虚拟地址空间),范围从 0 到 4294967295 (2 * 32 1 = 4 GB),无论多少 RAM 实际安装在计算机上。

在默认的 Windows 配置,私人使用的每个进程中,指定此虚拟地址空间的 2 千兆字节 (GB),和其他 2GB 共享所有进程和操作系统之间。通常情况下,应用程序 (例如,记事本,Word、 Excel 和犳) 使用仅 2 GB 的专用地址空间的一小部分。操作系统分配内存页框架,仅为那些正在使用的虚拟内存页面。

物理地址扩展 (PAE) 是英特尔 32 位体系结构扩展到 36 位的物理内存 (RAM) 地址的功能。PAE 不会更改虚拟地址空间的大小 (它会保持为 4 GB),但只是实际的 RAM 量,可通过处理器来解决。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
268363 英特尔物理地址扩展 (PAE) 在 Windows 2000 中
用于在进程中运行的代码的 32 位虚拟内存地址和 36 位 RAM 地址之间的转换会自动处理和透明地通过转换表根据计算机的硬件,由维护的操作系统。任何虚拟内存页 (32 位地址) 都可以与任何物理内存页 (36 位地址) 相关联。

下面的列表描述了不同的 Windows 版本和版本支持 (截至 2010 年 5 月) 的 RAM 的数量:
收起该表格展开该表格
Windows NT 4.04 GB
Windows 2000 专业版4 GB
Windows 2000 标准服务器4 GB
Windows 2000 高级服务器8 GB
Windows 2000 的数据中心服务器32 GB
Windows XP 专业版4 GB
Windows Server 2003 Web 版2 GB
Windows Server 2003 Standard Edition4 GB
Windows Server 2003 企业版32 GB
Windows Server 2003 数据中心版64 GB
Windows Vista4 GB
Windows 服务器 2008年标准4 GB
Windows 服务器 2008年企业64 GB
Windows 2008 服务器的数据中心64 GB
Windows 74 GB

页面文件

内存是有限的资源,而最实用角度来讲,是没有限制的虚拟内存。可以有多个进程,以及每个进程都有自己专用的虚拟地址空间的 2 GB。当所需的所有现有进程正在使用的内存超出了可用的 RAM 时,操作系统会移动到计算机的硬盘页 (4 KB 片) 的一个或多个虚拟地址空间。这将释放 RAM 框架用于其他用途。在 Windows 系统中,这些"分页出"页存储在一个或多个文件 (Pagefile.sys 文件) 分区的根目录中。每个磁盘分区中可以有一个这样的文件。在系统属性中配置的位置和大小的页面文件 (单击高级,单击性能,然后单击设置 按钮)。

用户经常询问"应使用多大的页面文件?"因为这取决于已安装的 RAM 的数量和多少虚拟内存的工作负载要求,没有任何单个回答这个问题。如果没有可用的其他信息,典型安装 ram 的 1.5 倍以上的建议是很好的起点。在服务器系统中,通常需要具有足够的 RAM 以便决不会不足,并且基本上未使用的页面文件。对于这些系统,它可能会提供没有有用的目的,要维护真正大的页面文件。另一方面,如果磁盘空间充足,保持较大的页面文件 (例如,安装 ram 的 1.5 倍以上) 不会不导致的问题,并且此也无需担心大小,使其通过。

性能、 体系结构限制和 RAM

在任何计算机系统上,随着负载的增加 (用户数,该卷的工作),性能就会降低,但以非线性方式。任何增加的负载或需求,超出了某一时刻,会导致性能显著降低。这意味着某些资源严重短缺并已成为一个瓶颈。

在有些情况下,不能增加短缺的资源。这意味着该体系结构的限制已到。在 Windows 中的某些经常报告体系结构限制如下所示:
  • 2 GB 的系统 (内核) 共享的虚拟地址空间
  • 2 GB 的专用的虚拟地址空间,每个进程 (用户模式)
  • 660 MB 的系统 PTE 存储 (Windows Server 2003 及更早版本)
  • 470 MB 的页面缓冲的池存储 (Windows Server 2003 及更早版本)
  • 256 MB 的非页面缓冲的池存储 (Windows Server 2003 及更早版本)
这具体而言,适用于 Windows Server 2003,但这可能也是适用于 Windows XP 和 Windows 2000。但是,Windows Vista 和 Windows Server 2008 中,Windows 7 并不是所有并共享这些体系结构的限制。限制用户和内核内存 (1 和 2,此处的数字) 都是相同的但如 Pte 和各种内存池的内核资源是动态的。此新功能使分页和未分页的内存。这也使 Pte 和会话池增长超过了前面已讨论,直至用尽整个内核时点的限制。

经常发现和被引用语句,如下所示:
使用终端服务器,2 GB 共享的地址空间将完全使用之前使用 4 GB 的 RAM。
这可能是在某些情况下,则返回 true。但是,您需要监视系统以了解是否它们适用于您的特定系统或不。在某些情况下,这些语句都与特定的 Windows NT 4.0 或 Windows 2000 环境的结论并不一定是应用于 Windows Server 2003。对 Windows Server 2003 所做重大更改用于降低概率的事实上的实践已达到这些体系结构的限制。例如,在内核中的一些程序移至非核心流程以减少共享的虚拟地址空间中使用的内存。

监视内存和虚拟内存的使用情况

性能监视器是原则的工具来监视系统性能和识别瓶颈的位置。要启动性能监视器,请单击开始、 单击控制面板,单击管理工具,然后双击性能监视器。以下是一些重要的计数器和他们告诉您的摘要:
  • 内存,已提交字节: 此计数器是一种用于虚拟内存的需求。

    这将显示所分配的字节数由进程,并向其操作系统已提交内存页面框架或页面文件 (或可能是两个) 中的页插槽。作为提交的字节数 增长大于可用的 RAM 中,页面将会增加,并正在使用的页面文件大小会增加。在有些情况下,内存页交换活动开始显著影响性能。
  • 进程工作集、 _Total: 此计数器在"活动"的使用是一种虚拟内存。

    此计数器显示多少 RAM 是必需的以便对所有进程虚拟内存 beingused RAM 中。此值始终是 4096,whichis 在 Windows 中使用的页大小的倍数。对虚拟内存超出了可用的 RAM 将增加的需求,为操作系统调整进程的虚拟内存中有多少是在其工作集中优化可用的内存使用情况,并尽量减少分页。
  • 分页文件,在使用 %页面文件: 此计数器是页面文件中有多少实际使用的度量值。
    使用此计数器来确定页面文件是否为适当的大小。如果此计数器达到 100,页面文件已满,并且操作将停止工作。这取决于您的工作负载的变化性,您可能希望页面文件大,这样通常是用不超过 50-075%。Ifmuch 的页面文件正在使用,具有多个不同的物理磁盘上,可以提高性能。
  • 内存,每秒页数: 此计数器是最容易产生误解的措施之一。

    此计数器的值很高并不一定意味着性能瓶颈的原因源自 RAM 不足。操作系统将其用于非换页内存过度承诺由于呼叫系统。
  • 内存、 页输出/秒: 此计数器显示多少个虚拟内存页面被写入页面文件以每秒释放内存页框架用于其他目的。

    这是最佳的计数器来监视如果您怀疑分页是性能瓶颈的原因。即使已提交的字节数大于所安装的 RAM,如果页输出/秒是低或零大多数情况下,从 RAM 不足没有显著的性能问题。
  • 内存缓存字节数
    内存,非分页池字节,
    内存,分页缓冲池字节为单位)
    内存,系统代码的总字节数,
    内存,系统驱动程序的总字节数:
    这些计数器的总和是多少 2GB 共享的 4 GB 的虚拟地址空间部分的实际使用的度量值。使用这些选项来确定是否您的系统将达到讨论前面讨论过的体系结构限制之一。
  • 内存、 可用的兆字节数: 该计数器测量的 RAM 的数量可用以满足虚拟内存的需求 (两个新的分配,或还原页面,从页面文件)。

    当 RAM 以短时供应 (例如,提交的字节数大于安装 RAM),操作系统将尝试通过复制不是页面文件处于使用中的虚拟内存页面保持安装的 RAM 可供立即使用的某些部分。因此,此计数器将达到零,并且不一定是您的系统是否充足的 RAM 是更好地指示。
有关这些主题的详细信息,请访问下面的 Microsoft 网站和博客网站:

属性

文章编号: 2160852 - 最后修改: 2014年3月4日 - 修订: 9.0
这篇文章中的信息适用于:
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Ultimate
关键字:?
kbsurveynew kbinfo kbhowto kbexpertiseadvanced kbmt KB2160852 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 2160852
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