[erlang-questions] Max heap size

Richard A. O'Keefe ok@REDACTED
Thu Apr 28 01:32:41 CEST 2016



On 28/04/16 1:12 AM, Lukas Larsson wrote:
 > The limit should be a guard against extreme memory usage growth,
 > not be a something you put very close to your normal maximum.
 > If you want to use this limit I suggest first running it with kill => 
false
 > and see what heap sizes gets reported to the error_logger and then
 > set the max_heap_size to an appropriately high value.

This must go into the documentation for the new flag.

    Wouldn't it be more suitable to have a process flag that would
    instruct the VM to send a specific message to the process once
    particular heap size have been reached and let process decide what
    to do about it?


 > You can build this using erlang:system_monitor(self(), [{large_heap, 
Sz}])
 > if you want to have it, or you could hook into the error_logger and react
 > to the messages sent by max_heap_size.

This also must go into the documentation.

 > Part of the point of the max_heap_size is that the process should be 
killed
 > without having to do the potentially expensive garbage collection that is
 > about to come, which is only achievable through an untrappable exit 
signal.

I don't understand this.  How can you determine how much heap a process
really needs without doing a garbage collection?






More information about the erlang-questions mailing list