- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个现有的 32 位 ASP.NET 应用程序,它使用 32 位非托管 DLL。
如果我在 64 位操作系统上运行它,它会自动成为 LARGEADDRESSAWARE(即可以访问完整的 4GB 虚拟内存)吗?
如果不是,我该怎么做才能使其成为 LARGEADDRESSAWARE?
Google 出现了 this question , 但它缺少上述问题的答案。
编辑
This blog建议 ASP.NET 1.1 工作进程是 LARGEADDRESSAWARE,但对 ASP.NET 2.0 保持沉默:
If a system is booted with the /3Gb switch in boot.ini (only supported on Enterprise and Data Center editions of Windows 2000, and all versions of Windows XP and Windows Server 2003) a process that is linked with the /LARGEADDRESSAWARE switch can "see" 3Gb. Aspnet_wp.exe is linked in that way in version 1.1 and can take advantage of that.
编辑 2
This is another blog 这表明 32 位 ASP.NET 应用程序是 LARGEADDRESSAWARE,但未提及 ASP.NET 版本:
We found the components that were hosted by the ASP.NET framework were taking advantage of the > 2 gig memory space
我必须说我对缺乏关于这个主题的权威发布信息感到惊讶。
最佳答案
我设法访问了运行 Windows 2003 SP2 的服务器,答案似乎是肯定的,32 位 ASP.NET 应用程序是 LARGEADDRESSAWARE,并且可以访问完整的 4GB 虚拟内存。
我通过以下方式建立了这个:
使用“dumpbin/headers”检查 w3wp.exe(32 位 IIS 工作进程)。这表明 LARGEADDRESSAWARE 位已设置。
运行尝试分配超过 2GB 虚拟内存的 32 位 ASP.NET 应用程序:这是成功的。
我假设 Windows 2008/IIS7 的结果是一样的,但还没有测试过。
关于asp.net - 是在 64 位 Windows 上运行的 32 位 ASP.NET 应用 LARGEADDRESSAWARE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1661765/
我已使用 editbin/LARGEADDRESSAWARE 命令更改我的 .NET C# exe,以便它可以寻址 > 2 GB 的内存。这工作正常,我可以运行 dumpbin 命令来验证它是否已成功
我想将我的应用程序切换到 LARGEADDRESSAWARE。需要注意的问题之一是指针运算,因为指针差异不能再表示为带符号的 32b。 有什么方法可以在大型 C++ 项目中自动查找指针减法的所有实例吗
我有一个包含一个 EXE 和多个 DLL 的 32 位应用程序。 EXE 已使用 /LARGEADDRESSAWARE 标志集构建。所以我希望在 64 位操作系统上我应该获得 4 GB 的用户地址空间
对于 win32 可执行文件 (x86),我们可以设置 LargeAddressAware 标志,以便它在 x64 Windows 上运行时可以访问 4 GB(而不是仅仅 2 GB)的虚拟地址空间。
Windows 允许您通过在 PE header 中设置标志 (/LARGEADDRESSAWARE) 将地址空间的使用限制为 32 位分辨率。详细说明:设置后,此标志有效地模拟 32 位虚拟地址空间
我正在开发一个 C# 程序,它将加载文件并获取加载文件创建日期、修改日期、大小等信息。我需要知道的另一件事是加载的文件 (executable.exe) 与 LARGEADDRESSAWARE 标志链
标题几乎概括了它。我有一个为 x86 平台编译的应用程序,它设置了 /largeaddressaware 标志。在 x64 系统上运行它,我“免费”获得了扩展的 4GB 用户模式虚拟内存,而无需指定
我有一个 .NET 程序集需要是 32 位的并且需要是 /LARGEADDRESSAWARE。 我知道如何使用 EditBin 执行此操作,但我想知道 Visual Studio 2010 中是否有内
在 PE header 中有一个标志指示二进制文件是否为 LargeAddressAware。 PE header 本身存在于 *.exe 和 *.dll 中。 Windows 操作系统真的只为父可执
我们需要将我们的一个可执行文件与此标志相关联,因为它会占用大量内存。 但是为什么要给一个EXE文件特殊处理呢。为什么不对 /LARGEADDRESSAWARE 进行标准化? 所以问题是:使用 /LAR
我有一个现有的 32 位 ASP.NET 应用程序,它使用 32 位非托管 DLL。 如果我在 64 位操作系统上运行它,它会自动成为 LARGEADDRESSAWARE(即可以访问完整的 4GB 虚
如标题所述,我在 win 7 64 位下运行一个 32 位应用程序。该应用程序是在 Embarcadero XE2 中用 C++ 编写的。我需要超过 2GB 的内存。 步骤: 我启用了 3GB 开关并
我是一名优秀的程序员,十分优秀!