发生崩溃时如何自动重启Erlang系统

时间:2019-03-05 17:53:38

标签: erlang erlang-shell erlang-ports

我在Erlang系统中看到以下错误:

        r1   r2    r3
5       ?     ?      ?
10       ?      ?      ?
21       ?    ?        ?
36
15

当遇到系统限制错误时,如何自行重启系统?

我尝试使用下面的启动命令,但是似乎没有重新启动系统,请帮助

(SystemLimitError) a system limit has been reached

2 个答案:

答案 0 :(得分:0)

我收到错误消息,说我的Erlang系统中已达到“已达到系统限制” ,我如何从该错误中恢复,并有一种重新启动/恢复/重新启动erlang系统的方法

我用以下命令启动了我的Erlang:

iex --erl "-heart -env HEART_COMMAND heart -shutdown" -S mix

这是错误:

2019-03-07 11:15:39.462 [error] Too many processes


    iex(1)> 2019-03-07 11:15:39.575 [error] Process #PID<0.407.0> raised an exception
    ** (SystemLimitError) a system limit has been reached
        :erlang.spawn_link(Testmodule, :testfunction1, [])
        (helios) lib/test1.ex:3: Testmodule.testfunction/0

答案 1 :(得分:0)

看来您无法启动任何进程。它看起来似乎不像erlang崩溃了,但是直到一些旧进程完成后,才能产生新进程。如果您的测试功能挂起并且没有完成,则迟早您将耗尽内存,但是看来您已达到可以首先启动的进程数量的限制。如果您想增加限制,请参见http://erlang.org/doc/man/erl.html#max_processes