我们的申请每天24小时,每周7天。有时CPU会达到100%然后再回到80%。与RAM相同。几小时后手动调用GC.Collect
或者自动离开它是否明智。
我们正在使用C#2010,SQL 2008和Fluent Nhiberanet。这是桌面应用程序。
答案 0 :(得分:11)
我不会把它称为“每隔几个小时GC.Collect()
”,或者“当RAM使用量变高”时称之为智能,但是当你处于某个位置时,我会称之为智能。有比GC更多的信息,一些exmaples
GC是一种高度优化的代码安静,非常智能,但它只能处理它所拥有的信息。
答案 1 :(得分:2)
手动调用GC.Collect永远不是一个好主意,因为你应该调查为什么你的应用程序获得了那么多资源而不是每次你要达到100%时清理它们
看看下面的内容我认为值得一读
答案 2 :(得分:1)
通常,框架本身将在需要时处理GC 你可以尝试在没有自己调用一天的情况下运行它
答案 3 :(得分:1)
GC.Collect
将不会神奇地解决问题。该框架不时收集垃圾,所以我不相信每隔几个小时调用GC.Collect
就可以改变任何东西。
答案 4 :(得分:0)
简答:不。
垃圾收集器不是您想要进入的区域,除非您必须这样做。通常,.net运行时在需要时可以很好地调用它。如果你自己打电话,那将只是额外的开销。
答案 5 :(得分:0)