[erlang-questions] How to reproduce OOM.

Dániel Szoboszlay dszoboszlay@REDACTED
Wed Jul 15 13:24:09 CEST 2015


This one works for me quite reliably:

Eshell V5.10.4.0.1  (abort with ^G)
1> <<1:8000000000000>>.

Crash dump was written to: erl_crash.dump
binary_alloc: Cannot allocate 1000000000031 bytes of memory (of type
"binary").
Aborted (core dumped)


2015-07-15 13:18 GMT+02:00 Daniil Churikov <ddosia@REDACTED>:

> Recently I was searching for robust way to restart elang VM in case of
> sudden
> stop (like crash or OOM).
> And I found rather difficult to reproduce OOM conditions: I was trying to
> create
> gigantic list of integers, so VM would be killed.
> I did this:
>
> L1 = [I || I <- lists:seq(1, 1000)].
> L2 = [L1 || _ <- lists:seq(1, 1000)].
> L3 = [L2 || _ <- lists:seq(1, 1000)]. % here VM hangs
>
> But according to syslog it doesn't look like OOM death, I can't see usual
> log
> entries like "Out of memory: Kill process 3855 (beam.smp) score 909 or
> sacrifice
> child" and others.
>
> My current understanding is I asked more memory then I allowed to ask, and
> b/c
> OS is not willing to give this memory, erlang VM hangs.
>
> If somebody have ideas how to reproduce OOM I would appreciate for sharing.
>
> Thanks!
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150715/84221f34/attachment.htm>


More information about the erlang-questions mailing list