[erlang-questions] process_info

Sverker Eriksson <>
Fri Feb 21 12:00:11 CET 2014


A process has two heaps, one "old" heap with long lived data and a "new" 
heap with more recently created data.

'heap_size' shows only the size of the new heap.
Newer releases (my git repo goes back to R13B03) contain
a 'total_heap_size' that also include the old heap.

/Sverker, Erlang/OTP


On 02/21/2014 07:14 AM, satoshi kinoshita wrote:
> Hi,
>
> I have a question about process_info().
>
> For process <0,477,0> below,
> heap_size is 6765 words,
> stack_size is 12 words and
> memory is 40,149,752 bytes.
>
> Erlang doc says 'memory' includes stack, heap and internal structures.
> In this case, stack + heap is 4*(6765+12)=27,108 bytes.
>
> Does this mean most of memory usage(about 40M bytes) are used
> for "internal structures"?
>
> What is "internal structures"???
>
> (I'm still using R11B-5 and I don't know it's specific to R11B-5 or not.)
>
>
> Thanks in advance,
> Kinoshita
>
> -------------------------------------------------------
> ()3> process_info(pid(0,477,0)).
> [{registered_name,mgs_db_mgse},
>   {current_function,{gen_server,loop,6}},
>   {initial_call,{proc_lib,init_p,5}},
>   {status,waiting},
>   {message_queue_len,0},
>   {messages,[]},
>   {links,[<0.436.0>]},
>   {dictionary,[{'$ancestors',[mgs_db_sup,<0.435.0>]},
>                {'$initial_call',{gen,init_it,
>                                      [gen_server,
>                                       <0.436.0>,
>                                       <0.436.0>,
>                                       {local,mgs_db_mgse},
>                                       mgs_db_mgse,
>                                       [60,0,"mgsen-i+up"],
>                                       []]}}]},
>   {trap_exit,false},
>   {error_handler,error_handler},
>   {priority,normal},
>   {group_leader,<0.434.0>},
>   {heap_size,6765},
>   {stack_size,12},
>   {reductions,237536590},
>   {garbage_collection,[{fullsweep_after,65535}]}]
> ()4> process_info(pid(0,477,0),memory).
> {memory,40149752}
>
> ---http://www.erlang.org/documentation/doc-5.5.5/lib/kernel-2.11.5/doc/html/erlang.html--------------
>
>   {heap_size, Size}
>      Size is the heap size of the process in words.
>
>   {stack_size, Size}
>      Size is the stack size of the process in words.
>
>   {memory, Size}
>      Size is the size of the process in bytes. This includes call
> stack, heap and internal structures.
>
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140221/7889d5b2/attachment.html>


More information about the erlang-questions mailing list