gpt4 book ai didi

asp.net - 是在 64 位 Windows 上运行的 32 位 ASP.NET 应用 LARGEADDRESSAWARE

转载 作者:行者123 更新时间:2023-12-02 00:43:45 55 4
gpt4 key购买 nike

我有一个现有的 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/

55 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com