代码之家  ›  专栏  ›  技术社区  ›  Rayne

使用require with:reload选项是否有在Clojure中建立内存的倾向?

  •  5
  • Rayne  · 技术社区  · 15 年前

    我有一个应用程序,为了重新加载插件,每当需要重新加载插件时,都需要使用:reload选项。我注意到,当我这样做的时候,它会一次积累2-3兆的记忆。我很好奇是什么导致了这种事情的发生。以前重新加载的数据是否保存在内存中?有没有办法完全重新加载命名空间?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Jeff    15 年前

    您可以向JVM提示您希望GC使用(System/GC)运行,但通常不建议使用。

    或者,如果您知道系统的限制,可以修改JVM内存标志,以鼓励GC更频繁地运行(即使用较低的堆大小)。

        2
  •  1
  •   Rayne    15 年前

    事实证明,我测试的时间不够长。记忆只会增长到一个特定的水平,然后它就会停止,最终会下降很多。

    推荐文章