【发布时间】:2023-03-12 22:31:01
【问题描述】:
我有一个 List,其中包含大约 800,000 个对象。完成此列表后,我将其设置为 null,然后继续执行其余的例程。
问题是 .NET 的垃圾收集器似乎没有足够快地完成它的工作,因为在将此列表设置为 null 后,内存使用量保持不变并且我得到“内存不足”例外。
有没有办法等待垃圾收集器完成它的工作?
也许我可以重新设计我的程序,这样我就不会一次加载 800,000 个项目,但这是一个一次性运行的程序,根本不会在生产中使用。
谢谢!
【问题讨论】:
-
下面丹尼尔的回答应该是您解决问题的良好开端。但您也可以使用 SOS 调试扩展 (msdn.microsoft.com/en-us/library/bb190764.aspx) 进一步查看程序的内存使用情况
标签: c# memory-management out-of-memory