[erlang-questions] Murdering Erlang: Interrupting Erlang Processes

Bjorn Gustavsson bjorn@REDACTED
Tue Jan 22 09:43:31 CET 2008

"Russell King" <masterofquestions@REDACTED> writes:

> Can someone tell me what is y(0),y(1)..,y(4), heap fragment data, number of
> heap fragments,  link list, reductions, stack+heap?

y(0) and so on are locations on the stack frame. Each location
contain a value that need to survive a function call.

Heap fragment data is Erlang terms allocated outside the heap for the
process by BIFs because there was insufficient room left on the heap.
In R12B, heap fragments are garbage-collected away as soon as the BIF
is done, so it is unlikely that the value would ever be non-zero.

Number of heap fragments - see above, likely to always be zero in R12B.

Link list - all processes or ports that this process is linked to.

Reductions - a counter that is incremented for every function call (and
by some BIFs too). There will be a context switch when the number of reductions
reaches a certain value (currently 2000).

Stack+heap - the size of the memory block allocated for the heap and
stack for the Erlang process. The stack and heap grow towards each other.

Björn Gustavsson, Erlang/OTP, Ericsson AB

More information about the erlang-questions mailing list