我遇到了一个似乎与Python和PyV8的垃圾收集交互方式有关的问题。我暂时解决了这个问题,方法是禁用python的垃圾收集,并在没有运行JavaScript的情况下每隔几秒钟一起调用gc.collect和PyV8.JSEngine.collect。然而,这似乎是一个相当黑客的修复……特别是,我担心PyV8可能会决定在不合时宜的时候收集数据,并引发问题。有没有办法永久禁用PyV8的自动垃圾收集,至少在我有几天时间弄清楚到底发生了什么,从而真正解决这个问题之前?
发布于 2013-07-11 23:19:33
可以通过更改V8的源代码永久禁用垃圾收集。
在V8的源代码中,编辑src/heap.cc,并在Heap::CollectGarbage的开头放入一条return语句。
除此之外,这是不可能的(AFAICT):当内存即将耗尽时,V8总是会调用垃圾回收。没有(可配置的)方法不让它这样做。
https://stackoverflow.com/questions/17006134
复制相似问题