BEAM VM Under the Hood

Dmytro Lytovchenko


Marines' Memorial Club & Hotel

in-person full-day tutorial


Everything you wanted to know about the BEAM but were afraid to ask! Through examples and hands-on exercises, we will showcase how to manage the BEAM VM in operational environments, optimising for memory utilisation and performance when using Erlang or Elixir.

OBJECTIVES: Understand how the BEAM works under the hood. See the variety of tools and controls allowing to fine-tune it and optimise its settings for throughput and memory use.

PREREQUISITES: Experience in developing and supporting languages running on the Beam, including Erlang and Elixir.


  • Intro to the BEAM - highlights of the BEAM Virtual Machine, the features which make it stand out in comparison to other VMs.
  • Processes under the hood - how memory is allocated, managed and garbage collected.
  • The Process Scheduler - how the schedulers works, how it scales on multi-core architectures and what its limitations are.
  • Memory Management - different memory types including system, atom, binary, code and ets tables.
  • Tweaking and fine-tuning - tweaks and possible fine-tuning

Experience level: