【问题标题】:Webjob giving an outofmemoryexceptionWebjob 出现内存不足异常
【发布时间】:2014-07-27 00:47:28
【问题描述】:

我的网络作业做的很少,它会下载大约 3kb 的数据,然后更新我数据库中的一些信息。然而,在 webjob 启动后,当它正在下载信息时(或刚刚),抛出异常

[07/27/2014 00:12:47 > b2b30d: ERR ] Unhandled Exception: OutOfMemoryException.

你知道为什么会这样吗?

我使用完全相同的数据在本地运行 exe,它使用的内存最少,我看到最多 65mb,但我认为这不足以导致异常(或者 webjobs 有限制吗? )

我的内存使用统计数据(在 Azure 仪表板上)显示为 512 MB/小时的 54%(似乎我使用了很多,但仍有很多可用)。 文件系统存储 1024 MB 的 9% 我正在使用共享主机计划模式。

在引发异常之前没有命中数据库,因此这不是数据库问题。

更新 - 使用 System.Diagnostic 在 Azure 上的诊断信息

[07/28/2014 09:07:19 > b2b30d: INFO] WorkingSet64:10.54297
[07/28/2014 09:07:19 > b2b30d: INFO] TotalPhysicalMemory:14335.55
[07/28/2014 09:07:19 > b2b30d: INFO] AvailablePhysicalMemory:8458.691
[07/28/2014 09:07:20 > b2b30d: INFO] OutOfMemoryException
[07/28/2014 09:07:20 > b2b30d: INFO] WorkingSet64:41.33594
[07/28/2014 09:07:20 > b2b30d: INFO] TotalPhysicalMemory:14335.55
[07/28/2014 09:07:21 > b2b30d: INFO] AvailablePhysicalMemory:8443.027

所以,我的程序启动并使用 10mb,做了一些工作,然后抛出一个 outofmemoryexception,在抛出 outofmemoryexception 的点内存增加到 41mb。没想到 41mb 的 exe 对 webjob 来说太大了,为什么会出现这种情况?

【问题讨论】:

  • 启动和停止网站会暂时修复问题,但一段时间后内存不足。
  • 所以我刚刚添加了一些诊断信息,我会看看显示的内容。
  • 能回答你问题的只有你自己。在类似的数据集上运行内存分析器,看看是什么占用了你的大部分内存。我很确定问题不在于 Azure 平台。
  • 因此,在服务器上,WorkingSet64 为 10mb,TotalPhysicalMemory:14,335mb 和 AvailablePhysicalMemory:7,866mb
  • 这是一个专门的网站还是免费的?

标签: azure azure-webjobs


【解决方案1】:

修改Batch Size属性如下

    JobHostConfiguration config = new JobHostConfiguration();
//This asserts that the number of parallel calls of the function is one
     config.Queues.BatchSize = 1;
     var host = new JobHost(config);
// The following code ensures that the WebJob will be running continuously
     host.RunAndBlock();

通过这样做,您的网络作业的每个实例一次调用一次主函数,而不是并行调用。 祝你好运!

【讨论】:

    【解决方案2】:

    这个博客似乎暗示

    '虽然您可以在免费或共享网站中尝试连续工作,但它只能在设置了“始终在线”设置的标准网站中正常工作,这是因为在免费/共享网站中,工作流程将是在大约 20 分钟没有任何请求后关闭(对作业进程的请求可以是检查当前作业的状态)。'

    http://blog.amitapple.com/post/73574681678/git-deploy-console-app/#.VA7TEmcXJ3V

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多