[erlang-questions] How to reproduce OOM.
Wed Jul 15 14:07:22 CEST 2015
The OOM killer is not a reliable thing and changes with the wind.
If you want a ceiling on memory how about using ulimit possibly from the
shell before starting beam ?
> Hello DÃ¡niel. Thanks for your suggestions, although it indeed creates
> memory allocation error,
> it does not do what I need.
> I want VM to be killed, but don't want to do it by myself. I am seeking
> OOM killer's help,
> if you know what I mean ;)
> 2015-07-15 12:24 GMT+01:00 DÃ¡niel Szoboszlay <dszoboszlay@REDACTED>:
>> This one works for me quite reliably:
>> Eshell V188.8.131.52.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
>> 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
>>> stop (like crash or OOM).
>>> And I found rather difficult to reproduce OOM conditions: I was trying
>>> 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
>>> entries like "Out of memory: Kill process 3855 (beam.smp) score 909 or
>>> 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
>>> erlang-questions mailing list
> erlang-questions mailing list
More information about the erlang-questions