GC暂停完整的应用程序活动

时间:2010-11-18 13:29:10

标签: vb.net garbage-collection

我正在.Net中构建一个Web爬虫,一次执行大约500个httpwebrequests。 一切都运行正常,但问题出现在某些方面;看起来垃圾收集线程占用整个应用程序暂停几秒钟。无论如何,减少GC产生的延迟。

1 个答案:

答案 0 :(得分:1)

Guidance on how to avoid GC problems in .Net

  

充分利用分配器   你应该考虑诸如此类的做法   以下内容:

     
      
  • 分配要与a一起使用的所有内存(或尽可能多的内存)   给定数据结构。
  •   
  • 删除可以避免的临时分配   处罚复杂。
  •   
  • 最大限度地减少对象指针的写入次数,   特别是那些写给老年人的   对象。
  •   
  • 降低数据结构中指针的密度。
  •   
  • 限制使用终结器,然后仅限于“叶子”对象,如   尽可能多。如果打破对象   必要的帮助。
  •   
     

定期审查你的   关键数据结构和指导   内存使用情况配置文件   分配Profiler将有很长的路要走   保持你的记忆力有效   并有垃圾收集器   尽力而为。

你可以在一些更方便的时间request a GC,这可能会减少以后的暂停

另请查看相关的StackOverflow问题 - 那里有一些相关的问题----->