【问题标题】:How do I garbage collect the Elixir REPL, iex?如何垃圾收集 Elixir REPL,iex?
【发布时间】:2021-06-27 22:29:07
【问题描述】:

在 python 中,如果我正在使用 REPL,我可以使用 import gc; gc.collect() 强制进行垃圾收集。如何使用 Elixir 的 iexREPL 做同样的事情?

大变量绑定前的例子:

因此使用了大约 700M 的 RAM 和 300M 的交换空间。

在大数据绑定到变量xx 之后(从数据库中获取 500 个时间序列,每个 7000 个结构):

所以现在大约 2.2G 使用 500M 交换。现在将 xx 重新绑定到一些小的东西上:

但是使用的内存并没有真正改变。仍然是 2.2G RAM 和大约 500M 的交换空间。但是,如果我退出 IEX:

返回到使用的 RAM 低于 400M。所以重新绑定的大数据绑定不是iex内的垃圾收集。我怎样才能强迫它这样做?

【问题讨论】:

    标签: elixir elixir-iex


    【解决方案1】:

    这里有相关信息:https://erlang.org/doc/apps/erts/GarbageCollection.html

    也许只是尝试做:

    :erlang.garbage_collect()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 2012-08-29
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      相关资源
      最近更新 更多