[erlang-questions] beam is crashed due to out of memory & it is not started automatically after that even used heart
Magnus Henoch
magnus@REDACTED
Wed Jun 28 12:57:46 CEST 2017
Sanath Prasanna <ahe.sanath@REDACTED> writes:
> Hi all, My system is going down due to out of memory & it is not
> auto started even set -heart command in starting. What is the
> reason for this ? Can someone explain how to overcome this
> problem. (not starting system automatically using heart) Br,
> Robert
>
> /var/log/message
>
> aa_hub kernel: [60952995.574233] Out of memory: Kill process
> 2480 (beam.smp) score 498 or sacrifice child Jun 27 13:31:07
> aa_hub kernel: [60952995.577670] Killed process 2565 (heart)
> total-vm:8408kB, anon-rss:92kB, file-rss:0kB Jun 27 13:31:07
> aa_hub kernel: [60952995.584754] epmd invoked oom-killer:
> gfp_mask=0x201da, order=0, oom_score_adj=0 Jun 27 13:31:07
> aa_hub kernel: [60952995.587996] epmd cpuset=/ mems_allowed=0
>
> startup command
>
> /system/bin/run_erl -daemon /system/test/pipe/ /tmp
> "/system/bin/start_erl /system /system /system/bin/start_erl
> -smp auto* -heart -*sname test +64 +P10000 +B i -setcookie test"
I've seen the same issue. The problem is that the OOM killer
identifies a process to kill, and then kills all its child
processes before killing the chosen process itself. Since heart
is a child process of the beam process, it doesn't have a chance
to restart the Erlang VM.
I tried to fix it with the patch below, but it didn't work for
some reason - I don't remember the details. I ended up solving
the problem by addressing the memory usage itself.
https://github.com/legoscia/otp/commit/bc19687664697dcff9d5472e14da231cf830abe5
Regards,
Magnus
More information about the erlang-questions
mailing list