在应用程序使用的优化 4GT RAM 的信息

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

本文内容

概要

本文介绍 Windows NT 服务器企业版 (Windows NT 服务器/E) 版本 4.0 4GT RAM 优化的功能。与标准的 Windows NT 服务器,每个进程的地址限制是 2 千兆字节 (GB) 的随机存取内存 (RAM)。4GT 功能的 Windows NT 服务器/E 而不会引入新的 api 增加到 3 GB 此限制。4GT 通过减少了潜在从 1 GB 到 2 GB 分配给 Windows NT 内核的内存完成此操作。

本文中信息的很多已从产品的发行说明中提取。

更多信息

对于 Windows NT 服务器平台开发的应用程序继续增长这两方面的大小和性能要求。对于应用程序需要大量操作如数据库管理系统 (DBMS) 的 I/O 的较大的进程空间的使用可以提供相当大的性能优势,因为减少了大量时间的 I/O 访问到介质。在当前的 Windows NT Server 产品每个进程的地址限制为 2 GB。4GT 增加到 3 GB 此限制而不会引入新的 api。4GT 通过减少了潜在从 1 GB 到 2 GB 分配给 Windows NT 内核的内存完成此操作。

此功能的好处超过 2 GB 的物理 RAM 的强大计算机上运行的和应用程序,可以利用更大的地址空间。下面概述了将对开发人员和应用程序的影响。

Windows NT 服务器/E 支持 4GT Intel 体系结构服务器上。

: 的 4GT 都只能在 32 位处理器上,因此它不会增加的 Windows NT Server 可寻址内存超过 4 GB 的其当前限制。

4GT 对于编写应用程序

用户模式地址选择:

当启用 4GT 时,不能用于虚拟地址的最高的位从内核模式地址区分用户模式地址。

内存分配问题:

某些动态链接库 (DLL) 文件加载接近 2 GB 边界,因此,有 2 GB 空间中,无法使用 VirtualAlloc 分配的连续内存的区域。

在内核模式下可见的效果:

内核模式代码不再可以假定用户/内核边界是在 0x80000000 或任何其他的数字。必须使用新的头文件不再包含有关开始 0x80000000 的内核空间假设重建使用 ProbeForRead 或 ProbeForWrite 宏的代码。

启用应用程序中的 4GT 支持

为支持 4GT 所做的更改都已完成系统和应用程序级别。

系统更改:

安装 Windows NT 服务器/E 完成后,您必须修改 Boot.ini 文件来启用 4GT。若要能够 4GT 只需将 / 3gb 参数添加到启动行。

: 此更改才有效,如果您使用的 Windows NT 服务器 e。 在标准的 Windows NT,此标志将重新定位内核,但应用程序将无法访问超过 2 GB。

例如:
[引导加载程序]
超时 = 30
默认值 = (0) 多磁盘 (0) rdisk (0) 分区 (2) \WINNT
[操作系统] 多 (0) 磁盘 (0) rdisk (0) 分区 (2) \WINNT="Windows NT 服务器版本 4.00"/ 3gb
多 (0) 磁盘 (0) rdisk (0) 分区 (2) \WINNT="Windows NT 服务器版本 4.00 [VGA 模式]"/basevideo /sos
: 某些上面的行换行以提高可读性。

应用程序更改:

没有新的 api,这是进行 4GT 支持所必需的。而是,内存分配相同,在下面说明的除外"的有效 4GT 技巧支持。但是,它将自动提供 3 GB 地址空间的每个应用程序的效率很低。为了的 4GT 的选择性使用已经实现了以下机制:
  • 必须看到 3 GB 地址空间的可执行文件都需要有位 IMAGE_FILE_LARGE_ADDRESS_AWARE 其图像的标头中设置。为此,可以使用 Imagecfg 工具包括在支持中的 Windows NT 服务器/E 光盘上的文件夹。例如对于修改目标文件 DBMSApp.exe,请在命令提示符处键入以下内容:
    Imagecfg-l DBMSApp.exe
: 该链接器还具有新开关 (/ LARGEADDRESSAWARE) 与位在 IMAGE_FILE_LARGE_ADDRESS_AWARE 链接可执行文件。设置该位,然后运行没有 4GT 支持的系统上的应用程序不会影响应用程序。

有关有效 4GT 支持的提示

下面的准则适用于更改的摘要开发人员将需要审阅时它们考虑启用 4GT 支持其应用程序中:
  • 使用 GlobalMemoryStatus 获取全部用户虚拟空间量。 避免使用硬连线的常量定义 (例如"# define HIGHEST_USER_ADDRESS 0xc0000000"。尝试检测实际值在运行时。

  • 避免使用指针的有符号的比较。由于只是这个原因,某些应用程序可能崩溃 4GT 启用的系统上。一个条件,如"如果 (指针 > 40000000)"将为 false,大于 2 GB 的指针。

  • 使用标记项目 (而不是一个地址值的数据值) 到最高的位的代码将失败。例如对于 32 位单词可能会被视为一个用户模式地址如果是下面 0x80000000 和错误代码如果上面。这不起作用了。

设置分页文件大小

如果正在使用 4GT 选项,并且有一个大于 3 GB 的物理内存的系统可能要考虑更改您的页面文件的默认大小。请注意这进行更改,通过使用控制面板中的系统工具。在 Windows NT 3.51 默认的页面文件大小通常是物理内存大于 11 MB。在 Windows NT 4.0 中默认的页面文件大小等于系统上的物理内存量。4 GB 的计算机上,这将导致 4.01 GB 页面文件。在这种情况下此分页文件的有效性可能是最少,基于总的大小为 4 GB。相应地,256 MB 的页面文件可能是一个更有效地使用磁盘空间。但是,具有较小的页面大小会影响应用程序的总内存提交大小。您应该检查这些设置独立软件供应商 (ISV) 为您正在使用 4GT 选项运行的应用程序。

属性

文章编号: 171793 - 最后修改: 2006年10月31日 - 修订: 1.1
这篇文章中的信息适用于:
  • Microsoft Windows NT Server 4.0 企业版
关键字:?
kbmt kbhowto kbinfo KB171793 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 171793
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