【发布时间】:2019-07-25 14:30:55
【问题描述】:
我有一个在 Azure 上运行的 Web 应用程序,我的计划最多允许 1.5 GB 用于该应用程序的内存。现在,当我转到我的网络应用时,在指标下,选择过去 24 小时的内存工作集,我看到了下图:
这是大部分低于 95 MB 的使用量。现在,当我在本地计算机上运行应用程序时在 Visual Studio 中,我看到内存使用量约为 1.1 GB:
现在如果有人可以回答我的问题:
- Memory Working Set 是我的应用程序使用的总内存(即 1.5GB 之外)吗?
- 为什么两者如此不同?
- 我应该担心 Azure 上的应用程序(即 Prod)的内存消耗吗?
【问题讨论】:
-
从 Visual Studio 运行应用程序可能意味着在调试模式下运行它,对吧?在 debug 中运行代码与在 release 中运行代码存在相当大的差异(看看here for more information)。查看您当前的内存工作集,没有任何其他信息,我认为您不必担心。
-
谢谢@rickvdbosch。是的,我也以发布模式运行。得到了同样的结果。但是,没有做任何具体的优化。
-
在 Azure 中运行 Web 应用程序就像共享 IIS 上的应用程序池和站点一样。你能检查一下在 1.1 GB 上本地监控哪个进程吗?
-
感谢@FalcoAlexander。不确定。我认为是 devenv.exe (1.6 GB),
-
devenv.exe 本质上是 Visual Studio,这可以解释托管调试会话时的大量内存。但我不认为 VS 的行为是这样的
标签: visual-studio azure azure-web-app-service