Azure中

时间:2016-05-18 12:02:08

标签: azure memory azure-web-sites

我在Azure中有一个应用服务。它显示了两个名为Average Memory Working SetMemory Working Set的指标。现在,Memory Working Set被定义为进程中线程最近触及的内存页面集。门户网站中显示的这两个图表如下:

enter image description here enter image description here

现在,我有三个问题:

  1. 如何找出我的服务所拥有的专用最大内存量?一旦达到限制会发生什么?
  2. 内存工作集是进程中线程最近触及的内存页数。我认为这意味着内存工作集只会增加,如果我的代码有一些内存泄漏,导致其他页面被加载到内存等。我的问题是,任何外部因素,如请求数量是否会对内存工作集即如果请求从200上升到500,内存工作集会增加吗?如果是,为什么?

  3. 如何计算平均内存工作集?它是随着时间计算的吗?查看图表,我发现平均内存工作集和内存工作集的值几乎相似。

1 个答案:

答案 0 :(得分:1)

让我尽量回答:

1.a要了解专用的最大内存,您应该检查该过程的“私人工作集”。我猜您可以在任务管理器中或在KUDU的帮助下(在Azure中)找到此信息。做一些谷歌,你会很容易找到它。

1.b达到限制后,进程将访问共享工作集。

2.a内存工作集是'应用程序在MiB中使用的当前内存量'。

2.b如果请求上升了2.5倍,那么只要存在可分配的可共享物理内存,内存工作集最有可能随着新对象的创建而增加。

3.a平均工作记忆集是'应用程序使用的MiB中的平均内存量'