1

在 MRI Ruby 2.0 中,有多彻底GC.start

它是否尝试垃圾收集不再引用它们的所有对象?或者如果它认为有必要,它是否只 GC 对象?

我正在尝试跟踪我拥有的某个类的对象数量,尽管我认为某些对象不再引用它们,但它似乎还在继续增加。使用GC.start并不能解决这个问题。我不使用任何 C 扩展,所以这不会使事情复杂化。

编辑:我遇到的问题与1.9.2-p180 中的 Ruby Symbol#to_proc 泄漏引用相同?- 当我认为它们应该被垃圾收集时,对象仍然存在,就像在那种情况下,问题与使用隐式Symbol->有关Proc。但是,很高兴知道是否GC.start应该对所有对象进行垃圾收集,或者仅收集 MRI 认为垃圾收集所必需的任何内容。

4

0 回答 0