.Net 6.0 Core Web API 应用程序不释放内存

问题描述 投票:0回答:1

我目前正在开发一个 .NET 6 Web API 项目,我遇到了内存未正确释放的问题。尽管尝试使用 GC.Collect() 强制垃圾回收,但内存使用量随着时间的推移不断增加,导致性能下降。

我已经彻底分析了代码,并确保不会造成任何内存泄漏或占用不必要的资源。然而,即使在空闲期间,内存消耗也会持续上升。

我已尝试以下步骤来解决该问题:

确保使用 using 语句或显式调用 Dispose() 正确处置所有一次性对象。

创建了一个新的空白.NET 6项目,但同样,内存没有释放

为了缓解这个问题,我在一定的时间间隔内显式地使用 GC.Collect(),希望它能释放未使用的内存。然而,这种方法似乎并不有效,内存使用量不断增长。

关于内存管理,我应该注意 .NET 6 或 Web API 的哪些特定内容?即使在强制垃圾回收之后,什么可能导致内存无法正确释放?我可以采取任何其他步骤来排查和解决此问题吗?

任何帮助或见解将不胜感激。谢谢!

Release Mode 内存未释放

当我托管应用程序时,IIS 工作进程也发生同样的情况

.net .net-core memory-management asp.net-core-webapi .net-6.0
1个回答
0
投票

我遇到了同样的问题,我测试禁用 *.csproj 文件中的 ServerGarbageCollection 属性,并且我正在进行负载测试,它似乎正在工作。

© www.soinside.com 2019 - 2024. All rights reserved.