Skip to main content
  1. Blog
  2. Article

Dustin Kirkland
on 11 June 2015



652 Linux containers running on a Laptop?  Are you kidding me???

A couple of weeks ago, at the OpenStack Summit in Vancouver, Canonical released the results of some scalability testing of Linux containers (LXC) managed by LXD.

Ryan Harper and James Page presented their results — some 536 Linux containers on a very modest little Intel server (16GB of RAM), versus 37 KVM virtual machines.

Ryan has published the code he used for the benchmarking, and I’ve used to to reproduce the test on my dev laptop (Thinkpad x230, 16GB of RAM, Intel i7-3520M).

I managed to pack a whopping 652 Ubuntu 14.04 LTS (Trusty) containers on my Ubuntu 15.04 (Vivid) laptop!

The system load peaked at 1056 (!!!), but I was using merely 56% of 15.4GB of system memory.  Amazingly, my Unity desktop and Byobu command line were still perfectly responsive, as were the containers that I ssh’d into.  (Aside: makes me wonder if the Linux system load average is accounting for container process correctly…)

Check out the process tree for a few hundred system containers here!

As for KVM, I managed to launch 31 virtual machines without KSM enabled, and 65 virtual machines with KSM enabled and working hard.  So that puts somewhere between 10x – 21x as many containers as virtual machines on the same laptop.

You can now repeat these tests, if you like.  Please share your results with #LXD on Google+ or Twitter!

I’d love to see someone try this in AWS, anywhere from an m3.small to an r3.8xlarge, and share your results.

Density test instructions

## Install lxd
$ sudo add-apt-repository ppa:ubuntu-lxc/lxd-git-master
$ sudo apt-get update
$ sudo apt-get install -y lxd bzr
$ cd /tmp
## Grab the tests, disable the tools download
$ bzr branch lp:~raharper/+junk/density-check
$ cd density-check
$ mkdir lxd_tools
## Periodically squeeze your cache
$ sudo bash -x -c 'while true; do sleep 30;
echo 3 | sudo tee /proc/sys/vm/drop_caches;
free; done' &
## Run the LXD test
$ ./density-check-lxd --limit=mem:512m --load=idle release=trusty arch=amd64
## Run the KVM test
$ ./density-check-kvm --limit=mem:512m --load=idle release=trusty arch=amd64

As for the speed-of-launch test, I’ll cover that in a follow-up post!

Related posts


Canonical
20 March 2026

Canonical partners with Snyk for scanning chiseled Ubuntu containers

Canonical announcements Article

Canonical, the publisher of Ubuntu, is pleased to announce a new partnership with developer-focused cybersecurity company Snyk. Snyk Container, Snyk’s container security solution, now offers native support for scanning chiseled Ubuntu containers. This partnership will create a path to a more secure container ecosystem, where developers wi ...


Samir Kamerkar
22 April 2026

From Jammy to Resolute: how Ubuntu’s toolchains have evolved

Ubuntu Article

We cover new toolchain versions, devpacks and workflows that improve the developer experience. The evolution of Ubuntu’s toolchains story goes beyond just providing up-to-date GCC, LLVM, and Python. It is also about opinionated openJDK variants, task-focused devpacks, FIPS compliant toolchains, and snaps, like the new .NET snap and Snapcr ...


Canonical
20 April 2026

Canonical expands Ubuntu support to next-generation MediaTek Genio 520 and 720 platforms

edge computing Article

Canonical is pleased to announce the early access launch of Ubuntu 24.04 LTS for MediaTek’s Genio IoT platforms. Building on the companies’ strategic partnership, this release introduces optimized Ubuntu images for the brand-new Genio 520 and 720, while continuing to provide robust support for the Genio 350, 510, 700, and 1200.  The colla ...