2 ms·
How does Elixir handle OOMs, in such a case? Do they fail the entire VM, too?
by heavenlyblue 7y ago
How does Elixir handle OOMs, in such a case?
Do they fail the entire VM, too?
- toast0 7y agoYes mostly; when you get a failed allocation, for the most part there is nothing reasonable to do other than make a nice crash dump. Especially from the point of view of a language/toolkit. As a operator/user, you can certainly write some code to scan for large processes, and kill them; with a fair bit of success, but that's not a great thing for the toolkit to do, it doesn't have a good way to tell what's too big or what's intended.
- ramchip 7y agoNowadays in Erlang you can set a memory limit per process[1], ensuring they get killed if they try to allocate more. Of course you still have to estimate how much is reasonable which isn’t always obvious... [1] See max_heap_size under http://erlang.org/documentation/doc-9.0/erts-9.0/doc/html/erlang.html#process_flag-2 http://erlang.org/documentation/doc-9.0/erts-9.0/doc/html/er...
- puzza007 7y agoYes