在每天24小时运行的应用程序上使用GC.Collect是否明智?

sen*_*ale 5 c# garbage-collection

我们的应用程序每天运行24小时,每周运行7天.有时CPU会达到100%然后再回到80%.与RAM相同.GC.Collect几小时后手动调用或自动离开它是否很聪明.

我们正在使用C#2010,SQL 2008和Fluent Nhiberanet.这是桌面应用程序.

Eug*_*eck 11

我不会称之为GC.Collect()"每隔几个小时",或"当RAM使用率变高"时称之为智能,但是当你处于比GC更多的信息时,我会称它为聪明的,有些exmaples

  • 你知道,你刚刚分配的这一大块RAM或许多小对象都不会被再次使用,你处于一个单线程的环境中(当然)你已经清除了所有的引用
  • 你知道,"GC断裂"现在会减少伤害,而不是稍后

GC是一种高度优化的代码安静,非常智能,但它只能处理它所拥有的信息.