限制原子数

ipi*_*nak 4 erlang elixir

在erlang中,你可以创建的原子数量限制为1,048,576,并且它不是垃圾收集的.在gen_server文档中声明原子不是垃圾收集,但我不知道是否存在限制.

elixir也有限制吗?如果是这样的话是什么?

leg*_*cia 12

Elixir在与Erlang相同的虚拟机上运行,​​因此它与Erlang具有相同的原子限制.

您可以使用以下方法检查当前限制:erlang.system_info(:atom_limit),并且可以通过将+t标志传递给Erlang虚拟机来更改限制,使用--erl标记通过Erlang:

$ elixir -e 'IO.inspect :erlang.system_info(:atom_limit)'
1048576
$ elixir --erl "+t 2000000" -e 'IO.inspect :erlang.system_info(:atom_limit)'
2000000
Run Code Online (Sandbox Code Playgroud)

但是,如果你发现自己的原子用完了,你应该尝试用另一种方法解决问题.

  • 此外,可以使用[`+ t`标志](http://erlang.org/doc/man/erl.html#+t)在VM启动时修改此限制. (8认同)