簡體   English   中英

將文件上載到Azure Blob時,ASP.NET Core內存消耗

[英]ASP.NET Core memory consumption while uploading a file to Azure Blob

當我將文件上傳到Azure Blob時,內存消耗似乎很高。 以下數據來自200 MB文件上傳。

public async Task<IActionResult> PostFile(IFormFile file)
{
    var filePath = Path.GetTempFileName();

    using (var stream = new FileStream(filePath, FileMode.Create))
    {
        -> Memory used: 108 MB

        await file.CopyToAsync(stream);

        -> Memory used: 308 MB

        await blockBlob.UploadFromStreamAsync(stream);

        -> Memory used: 988 MB
    }
}

由於文件已經加載到流中,我無法理解由UploadFromStreamAsync()引起的內存消耗的急劇增加。 我使用的是Microsoft.WindowsAzure.Storage 8.1.4和.NET Core 1.1。

我做錯了什么或這是預期的行為?

我的測試應用程序是MVC應用程序,因此它只占用243個內存。

Web api應用程序與MVC應用程序內存使用情況不同。

我的web api應用程序使用率是1G,如下圖所示:

在此輸入圖像描述

我做錯了什么或這是預期的行為?

這是預期的行為。

我建議您可以使用拍攝快照來查看堆大小更改信息。

您可以看到堆大小已釋放但內存使用量仍為1G。

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM