【发布时间】:2010-11-13 12:03:18
【问题描述】:
我有一个 2GB 的大文件,其中包含 150 万个列表要处理。我正在运行一个控制台应用程序,它执行一些字符串操作,然后将每个列表上传到数据库。
我创建了一个 LINQ 对象并通过将其分配给每个列表(循环)的新 LinqObject() 来清除该对象。
对象完成后,我将其添加到列表中。
当列表达到100个对象时,我对整个列表提交All,清空列表,然后重复。
随着程序的运行,我的内存使用量继续增长。我应该做些什么来降低内存使用量?我试过 GC.collect。我想我想使用 dispose..
提前感谢您的关注。
【问题讨论】:
-
是的,我需要保持较低的内存使用率。仅 10 万个列表后,它就增长到 350 mb。我第一次运行它时没有检查内存使用情况,程序锁定在 110 万个列表。内存使用量可能远远超过 1GB
-
使用内存分析器查找问题;这就是它的用途。
-
你能发布一些代码来说明你在做什么吗?
标签: c# .net memory garbage-collection dispose