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

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

本页

概要

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

更多信息

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

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

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

进程和地址空间

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

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

物理地址扩展 (PAE) 是英特尔 32 位体系结构扩展到 36 位的物理内存 (RAM) 地址的功能。PAE 不会更改大小的虚拟地址空间 (这仍为 4 gb),但只是实际的 RAM 量,可通过在处理器来解决。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
268363 英特尔物理地址扩展 (PAE) 在 Windows 2000 中
36 位 RAM 地址之间使用的进程中运行的代码的 32 位虚拟内存地址转换将自动处理和透明地通过计算机硬件转换表根据的由维护操作系统。任何虚拟内存页 (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 标准版4 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 是必需的使所有进程正在使用的虚拟内存 RAM 中的解压。此值始终是倍数 4096,它是在 Windows 中使用的页面大小。对超出可用内存虚拟内存将增加的需求,为操作系统调整进程的虚拟内存中有多少是在其工作集中优化可用内存使用并最小化分页。
  • 分页文件,在使用 %页面文件: 此计数器是页面文件中的多少实际使用的措施。
    使用此计数器来确定页面文件是否为适当的大小。如果此计数器达到 100,页面文件已满,并且操作将停止工作。这取决于您的工作负载的变化性,您可能希望页面文件较大,这样通常是用不超过 50-075%。如果正在使用多页文件,有多个不同的物理磁盘上可以提高性能。
  • 内存,页数/秒表示: 此计数器是最容易产生误解的措施之一。

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

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

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

属性

文章编号: 2160852 - 最后修改: 2013年3月29日 - 修订: 4.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
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 2160852
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈