我目前正在开发一个 .NET 6 Web API 项目,我遇到了内存未正确释放的问题。尽管尝试使用 GC.Collect() 强制垃圾回收,但内存使用量随着时间的推移不断增加,导致性能下降。
我已经彻底分析了代码,并确保不会造成任何内存泄漏或占用不必要的资源。然而,即使在空闲期间,内存消耗也会持续上升。
我已尝试以下步骤来解决该问题:
确保使用 using 语句或显式调用 Dispose() 正确处置所有一次性对象。
创建了一个新的空白.NET 6项目,但同样,内存没有释放
为了缓解这个问题,我在一定的时间间隔内显式地使用 GC.Collect(),希望它能释放未使用的内存。然而,这种方法似乎并不有效,内存使用量不断增长。
关于内存管理,我应该注意 .NET 6 或 Web API 的哪些特定内容?即使在强制垃圾回收之后,什么可能导致内存无法正确释放?我可以采取任何其他步骤来排查和解决此问题吗?
任何帮助或见解将不胜感激。谢谢!
Release Mode 内存未释放
当我托管应用程序时,IIS 工作进程也发生同样的情况