mazenharake/entop — Issue #13: process_info call in entop_collector causes out of memory
Author: bobergj
Created: 2011-10-31 12:00:33+00:00
State: open

The entop_collector:get_data function calls erlang:process_info on each process. This is problematic, because the resulting process info proplist contains the 'messages' entry, with all the messages in the process message queue.
When using entop against a node which has a message leak (a message queue building up) one of the following to things can happen:
* Starting entop causes the beam to crash due to an out of memory exception
* The net_kernel heartbeat times out while transferring the term, causing the communication between entop and the node to break
Note that this only happens when a process queue contains several gigabytes of data (our servers have 48 GB of memory).

The entop_collector should use erlang:process_info/2 instead of process_info/1, not including the 'messages' option.