652 Linux containers running on a Laptop? Are you kidding me???
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.
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!
Recent surveys found that many popular containers had known vulnerabilities. Container images provenance is critical for a secure software supply chain in production. Benefit from Canonical’s security expertise with the LTS Docker images portfolio, a curated set of application images, free of vulnerabilities, with a 24/7 commitment.