Booting 5000 Erlang VMs on a 192-Core Ampere One Server

2025-08-10
Booting 5000 Erlang VMs on a 192-Core Ampere One Server

Underjord, a consultancy specializing in Elixir and Nerves, successfully ran 5000 Erlang virtual machines on a 192-core Ampere One server. Each VM runs a Linux IoT device using the Nerves framework. This was achieved using a new bootloader, little_loader, streamlining ARM64 QEMU VM booting and leveraging KVM acceleration. Challenges included compilation issues and memory optimization, but these were overcome by adjusting BEAM VM allocators, Erlang release modes, and Linux kernel parameters. Over 5000 VMs were successfully run, opening new possibilities for testing and development of the Nerves framework and potentially integrating into future Nerves tooling.

Read more
Development