Iis

64位IIS上的多個32位程序-記憶體限制?

  • March 29, 2018

我有一個使用 VB6 DLL 的舊版 ASP Web 應用程序。該應用程序非常消耗記憶體。我需要在一台機器上執行應用程序的多個實例。現在,由於 VB6 DLL 僅為 32 位,因此在 64 位程序中執行已被淘汰 - 但如果我執行多個 32 位 IIS 應用程序池怎麼辦?每個應用程序池每次啟動的記憶體限制為 1.2 GB,還是所有應用程序池程序聚合的記憶體限制?誰有這方面的經驗?

但是如果我執行多個 32 位 IIS 應用程序池怎麼辦?每個應用程序池每次啟動的記憶體限制為 1.2 GB,還是所有應用程序池程序聚合的記憶體限制?

每個程序的限制適用於每個程序,並且每個應用程序池都在自己的程序中。因此,您可以通過執行大量應用程序池來使用任意大量記憶體。

此外,它不是 1.2GB,而是 4GB。

預設情況下,32 位程序獲得 2GB 的“使用者空間”,除非 exe 是使用“大地址感知”標誌建構的,在這種情況下,它在具有適當引導時間標誌的 32 位作業系統上獲得 3GB(這會限制核心空間——使用它自己的後果)但在 64 位作業系統上它是 4GB 使用者空間(不需要引導標誌,也沒有核心記憶體後果)。

32 位(託管應用程序池的執行檔)是使用大型地址感知標誌建構的,從在文件夾w3wp.exe中執行可以看出。dumpbin /headers w3wp.exe``%SystemRoot%\SysWow64\inetsrv

引用自:https://serverfault.com/questions/181716