您的位置:首页 > 其它

32位&64位版本Windows下运行win32程序扩展用户模式虚拟地址~

2014-10-21 17:31 549 查看
/3GB

/3GB

在 32 位版本的 Windows 上,/3GB 参数启用 4
GT RAM 调节,该功能将用户模式虚拟地址空间放大到 3 GB 并将内核模式组建限制在剩余的 1 GB。

/3GB [ /userva=SizeInMB ]



子参数

/userva

为使用 /3GB 参数启动的操作系统的用户模式虚拟地址空间指定备用量。

SizeInMB

指定用户模式虚拟地址空间的内存量,以 MB 为单位。此变量采用十进制表示法,可以具有 2048 MB (2 GB) 到 3072 MB (3 GB) 之间的任何值。Windows 使用剩余的地址空间(4 GB 减去指定的量)作为其内核模式地址空间。


备注

/3GB 参数在
Windows Server 2003、Windows XP 和 Windows 2000 上受支持。在 Windows Vista 和更高版本的 Windows 上,可以在 BCDEdit 中使用 IncreaseUserVA 元素。

在 Windows 上,默认情况下,较低的 2 GB 是为用户模式程序保留的,较高的 2 GB 是为内核模式程序保留的。你可以使用此参数来测试在 1 GB 内核中运行的驱动程序的性能。

4
GT RAM 调节功能在以下操作系统中能够完全正常工作:Microsoft Windows 2000 Advanced Server、Microsoft Windows 2000 Datacenter Server,以及所有版本的 Windows XP、Windows Server 2003、Windows Vista 和更高版本的 Windows。有关此功能的附加信息,请参阅 4 GB 调节:BCDEdit 和 Boot.ini。

在其他版本的 Windows 2000 上,此功能将内核限制在大于 3 GB 边界的地址。但是,用户模式应用程序不能访问 2 GB 以上的地址空间。

/userva 子参数是为需要
2 GB 到 3 GB 用户模式地址空间的计算机(特别是那些运行内存密集型用户模式程序的计算机)设计的。不带 /3GB 参数的 /userva 将被忽略。

/3GB/userva 参数仅对于具有基于
x86 或 x64 的处理器的计算机上所运行的 32 位 Windows 版本的启动项有效。

为了利用可供用户模式程序使用的 3 GB,该程序必须用 /LARGEADDRESSAWARE 选项进行链接。

在 64 位版本的 Windows Server 2003 上,系统会根据需要自动扩展可供用 /LARGEADDRESSAWARE 选项进行链接的
32 位用户模式程序使用的虚拟地址空间,而不使用 /3GB 启动参数。在不带
Service Pack 1 的 Windows Server 2003 RTM 上,这些 32 位程序最多可以访问 3 GB 虚拟地址空间。在带有 Service Pack 1 的 Windows Server 2003 上,这些 32 位程序最多可以访问 4 GB 虚拟地址空间。本地 64 位用户模式程序最多可以访问 8 TB 虚拟地址空间。

/3GB 参数进行启动会减少系统上的内核虚拟地址空间量。为了使所有的内核资源适合剩余的
1 GB 虚拟内存,Windows Vista 之前的基于 NT 的 Windows 操作系统会将物理内存限制在低于 16 GB 物理边界的帧。Windows Vista 和更高版本的 Windows 将物理内存限制在低于 64 GB 边界的帧。由于 Windows Vista 和更高版本以动态方式分配内存资源,因此,适应性和效率越高,系统可以提供的寻址内存空间越多,从而能够容纳更多的物理内存。

下表列出了在带有和不带 /3GB 启动参数的情况下,支持使用
4 GB 以上物理内存的 32 位操作系统的物理内存限制。
操作系统不带 /3GB 时的物理内存限制带有 /3GB 时的物理内存限制
Windows Vista
4 GB
4 GB(无影响)
Windows Server 2008 Enterprise
64 GB
64 GB
Windows Server 2008 Datacenter Edition
64 GB
64 GB
Windows Server 2003 Enterprise Edition
64 GB
16 GB
Windows Server 2003 Datacenter Edition
64 GB
16 GB
Windows XP(所有版本)
4 GB
4 GB(无影响)
在 Windows XP 上,某些驱动程序(特别是具有板上 RAM 的视频适配器驱动程序)不能使用 /3GB 参数运行,因为它们需要的地址空间比
1 GB 内核地址空间允许的空间多。


示例

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /3GB

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /3GB /userva=3030



Bootcfg
命令

bootcfg /raw "/3GB" /A /ID 1
bootcfg /raw "/3GB /userva=3030" /A /ID 2


转载地址:http://technet.microsoft.com/zh-cn/ff556232(v=vs.85)

相关地址:http://support2.microsoft.com/default.aspx?scid=889654
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: