-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Closed
Closed
Copy link
Labels
area-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionsIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions
Milestone
Description
Is there an existing issue for this?
- I have searched the existing issues
Describe the bug
Here is code sample:
[Route("api/[controller]")]
[ApiController]
public class TestsController : ControllerBase
{
static readonly byte[] Data = new byte[1_000_000_000]; //1gb
[HttpGet(nameof(Download))]
public ActionResult<byte[]> Download()
{
GC.Collect();
var memory = System.Diagnostics.Process.GetCurrentProcess().PrivateMemorySize64;
Console.WriteLine($"{memory / 1_000_000} MB");
return Data;
}
}
I am calling this method via curl
as following 10 times:
curl --insecure https://localhost:5000/api/Tests/Download > NUL
And here is output of the sample:
67 MB
5216 MB
6626 MB
8014 MB
9400 MB
9464 MB
12195 MB
13592 MB
14975 MB
16356 MB
So memory grows over and over, despite the fact that Data
is static variable and GC.Collect()
called each time. Please someone explain what is going on? And how to reduce memory consumption?
Expected Behavior
Much less memory consumption
Steps To Reproduce
No response
Exceptions (if any)
No response
.NET Version
8.0.204
Anything else?
No response
Neracles and akhanalcsparaekklisiarh, AlekseiZyrianovTR, mustafacagataytulun and akhanalcs
Metadata
Metadata
Assignees
Labels
area-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionsIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions