32位&64位版本Windows下运行win32程序扩展用户模式虚拟地址~
2014-10-21 17:31
549 查看
/3GB
/3GB
在 32 位版本的 Windows 上,/3GB 参数启用 4
GT RAM 调节,该功能将用户模式虚拟地址空间放大到 3 GB 并将内核模式组建限制在剩余的 1 GB。
/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 位操作系统的物理内存限制。
在 Windows XP 上,某些驱动程序(特别是具有板上 RAM 的视频适配器驱动程序)不能使用 /3GB 参数运行,因为它们需要的地址空间比
1 GB 内核地址空间允许的空间多。
转载地址:http://technet.microsoft.com/zh-cn/ff556232(v=vs.85)
相关地址:http://support2.microsoft.com/default.aspx?scid=889654
/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(无影响) |
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
相关文章推荐
- "无法安装64位版本的Office,因为在您的PC上找到了以下32位程序"的解决办法
- 模块XXXX可能与您正在运行的Windows版本不兼容。检查该模块是否与regsvr32.exe的x86(32位)x64(64位)版本兼容。
- Windows 32位程序在64位操作系统下运行
- 模块XXXX可能与您正在运行的Windows版本不兼容。检查该模块是否与regsvr32.exe的x86(32位)x64(64位)版本兼容。
- 如何让64位的windows上的IIS可以运行32位的程序
- 呃,如何使 .NET 程序,在 64位 系统 中,以 32位 模式运行。
- WINDOWS中, 如何查看一个运行中的程序是64位还是32位的?
- 检测windows 32位程序是否运行在64位系统上
- Java程序运行时找不到主类、查看JDK是32位还是64位版本、JDK的卸载
- 用VC2013编译了一个程序,在Windows 8、Windows 7(64位、32位)下都能正常运行。但在Win XP,Win2003下运行时,却报错不能运行
- 在64位Windows的IIS上开启32位程序支持(转)
- Ubuntu64位下运行32位的程序
- 在64位Windows的IIS上开启32位程序支持
- 解决VirtualPC无法在PAE(物理地址扩展)模式下运行
- Windows 7 64位用户数据首次超过32位
- windows 用其它用户运行程序
- 用APC实现在内核模式运行用户程序
- 在64位Windows上运行32位应用程序[iis]
- Tip - 注意:32位程序访问64位系统上的Windows注册表
- 32位asp.net应用程序在64位Windows上运行时的问题一例