title: How to measure the performance of the Erlang Garbage Collector?
body: <p>I have started programming in Erlang recently and there are a few things I want to understand regarding garbage collection (GC). As far as I understand, there is a generational GC for the private heap of each process and a reference counting GC for the global shared heap.</p>
  <p>What I would like to know is if there is anyway to get:</p>
  <ol>
  <li>How many number of collection cycles?</li>
  <li>How many bytes are allocated and deallocated, on a global level or process level?</li>
  <li>What are the private heaps, and shared heap sizes? And can we define this as a GC parameter?</li>
  <li>How long does it take to collect garbage? The % of time needed?</li>
  <li>Is there a way to run a program without GC?</li>
  </ol>
  <p>Is there a way to get this kind of information, either with code or using some commands when I run an Erlang program?</p>
  <p>Thanks.</p>