【问题标题】:When to remove GC.Collect [duplicate]何时删除 GC.Collect [重复]
【发布时间】:2018-01-15 14:51:14
【问题描述】:

我知道有很多问题都在谈论我们什么时候应该使用 GC.Collect(),但是我想知道如何验证一个复杂的企业程序,如果我意识到其中一个类有这行似乎会导致性能问题?是否有任何好的步骤可以遵循并验证此行是否可以安全删除?

【问题讨论】:

  • 问题应该是"何时添加 GC.Collect()"
  • "...似乎会导致性能问题..." - 怀疑在工作站上发布 .NET 4 和在服务器上发布 .NET 4.5 后会出现问题

标签: c# .net performance memory-management garbage-collection


【解决方案1】:

何时删除 GC.Collect

几乎每次看到它...

有什么好的步骤可以遵循

如果您看不到任何充分的理由拥有它。要遵循的好步骤就是将其删除。我看不出它会引入任何新问题。垃圾收集器已经过优化,可以在需要时自动调用。

正如answer 中提到的,在极少数情况下,这可能很有用。但总的来说,每当我看到这个,都会给我留下不好的印象和担忧......

验证此行是否可以安全删除

当存在内存泄漏问题时,有时人们会盲目地添加它。但这无助于任何内存泄漏。因此,只需使用内存分析工具并验证没有内存泄漏。但是,仅删除它不会引入任何新的内存泄漏。

【讨论】:

    猜你喜欢
    • 2011-07-20
    • 2011-04-23
    • 2011-09-28
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    相关资源
    最近更新 更多