【问题标题】:Azure Blob Storage Out of Memory exceptionAzure Blob 存储内存不足异常
【发布时间】:2015-07-28 12:17:27
【问题描述】:

我正在使用 Azure Blob 存储。一切正常,但有时我会间歇性地收到以下错误:

"$type": "System.Web.Http.HttpError, System.Web.Http",
"Message": "An error has occurred.",
"ExceptionMessage": "Exception of type 'System.OutOfMemoryException' was thrown.",
"ExceptionType": "System.OutOfMemoryException",
"StackTrace": "   at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.get_Result()
   at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.ExecuteAndWait()
   at Microsoft.WindowsAzure.StorageClient.TaskImplHelper.ExecuteImplWithRetry(Func`1 impl, RetryPolicy policy)
   at Microsoft.WindowsAzure.StorageClient.CloudBlobContainer.SetPermissions(BlobContainerPermissions permissions, BlobRequestOptions options)

在我的本地重新创建问题真的很困难。有什么解决办法吗?

【问题讨论】:

  • 是的。缩放 Azure Web 应用层。我假设您使用 Free 或 Shared,它们都有内存限制 - 每小时 1024 MB。计算为峰值内存使用。如果您的应用达到 1024MB 内存使用量,您的网站将被暂停,并且您还会收到 Out-of-memory 异常。
  • 我正在使用具有 7 GB 内存的标准应用层。
  • 设置 blob 容器权限时是否出现异常?
  • 您是否查看过存储帐户中存储了多少数据?总体而言,存储帐户可以容纳 500TB 的数据,但是,还有其他 quotasperformance targets 需要注意
  • 你能提供你用来调用 SetPermissions 的代码吗?

标签: exception azure out-of-memory azure-web-app-service azure-blob-storage


【解决方案1】:

以下 Stack Overflow 线程可能对 C# : Out of Memory exception 有所帮助。总而言之,如果您还没有,请尝试将您的平台目标更改为 x64,看看是否有帮助。

【讨论】:

    【解决方案2】:

    Windsor IOC 没有为 GC 释放对象的应用程序中存在内存泄漏。这是这个错误的根本问题。

    【讨论】:

    • 恕我直言,温莎会发布你告诉它的一切。未能遵循使用 Castle Windsor 的非常简单的指导(“释放您解决的所有问题”)是内存泄漏的常见原因。
    猜你喜欢
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多