IIS 和控制台应用程序上的可用虚拟内存
AvailableVirtualMemory on IIS and Console application
我在 IIS 和控制台应用程序中获取 AvailableVirtualMemory 的实际值时遇到问题,详情如下:
当我在控制台应用程序上 运行 这些命令时:
Console.WriteLine(String.Format("Memoria virtual total: {0}MB", My.Computer.Info.TotalVirtualMemory / 1024 / 1024))
Console.WriteLine(String.Format("Memoria virtual disponible: {0}MB", CDec(My.Computer.Info.AvailableVirtualMemory / 1024 / 1024)))
控制台显示这些结果:
Memoria virtual total: 8388607.875MB
Memoria virtual disponible: 8388028.16015625MB
但是当我在 .aspx 页面上 运行 这些命令时:
Response.Write(String.Format("Memoria virtual total: {0}MB", My.Computer.Info.TotalVirtualMemory / 1024 / 1024))
Response.Write("<br>")
Response.Write(String.Format("Memoria virtual disponible: {0}MB", CDec(My.Computer.Info.AvailableVirtualMemory / 1024 / 1024)))
页面显示了这些结果:
Memoria virtual total: 4095.875MB
Memoria virtual disponible: 3367.91796875MB
为什么在这些不同的应用程序上存在这种差异?我正在使用 64 位操作系统。
我在 Google 和这里搜索了原因,但我没有找到任何东西......
提前致谢。
您的 .aspx
页面 运行 所在站点的应用程序池(是的 IIS Express 甚至有这些)可能配置为 32 位模式,这就是它返回 4GB 和 3.3 的原因国标分别。作为一个 32 位进程,这就是它所能看到的。
如果您是 运行 Visual Studio 玩具网络服务器中的此页面,您将得到相同的结果,因为它也只有 32 位。
我在 IIS 和控制台应用程序中获取 AvailableVirtualMemory 的实际值时遇到问题,详情如下:
当我在控制台应用程序上 运行 这些命令时:
Console.WriteLine(String.Format("Memoria virtual total: {0}MB", My.Computer.Info.TotalVirtualMemory / 1024 / 1024))
Console.WriteLine(String.Format("Memoria virtual disponible: {0}MB", CDec(My.Computer.Info.AvailableVirtualMemory / 1024 / 1024)))
控制台显示这些结果:
Memoria virtual total: 8388607.875MB
Memoria virtual disponible: 8388028.16015625MB
但是当我在 .aspx 页面上 运行 这些命令时:
Response.Write(String.Format("Memoria virtual total: {0}MB", My.Computer.Info.TotalVirtualMemory / 1024 / 1024))
Response.Write("<br>")
Response.Write(String.Format("Memoria virtual disponible: {0}MB", CDec(My.Computer.Info.AvailableVirtualMemory / 1024 / 1024)))
页面显示了这些结果:
Memoria virtual total: 4095.875MB
Memoria virtual disponible: 3367.91796875MB
为什么在这些不同的应用程序上存在这种差异?我正在使用 64 位操作系统。
我在 Google 和这里搜索了原因,但我没有找到任何东西......
提前致谢。
您的 .aspx
页面 运行 所在站点的应用程序池(是的 IIS Express 甚至有这些)可能配置为 32 位模式,这就是它返回 4GB 和 3.3 的原因国标分别。作为一个 32 位进程,这就是它所能看到的。
如果您是 运行 Visual Studio 玩具网络服务器中的此页面,您将得到相同的结果,因为它也只有 32 位。