CCIE Homelab Tips, Tricks, & Thoughts CSR1000V memory optimization

With the completion of my Master’s degree I now have more free time to start preparing for my deep dive into my CCIE studies. Recently I’ve been working on getting my lab environment together. What I’ve decided was to do a mixture of both physical hardware and virtual instances which includes a few “pods” of routers and switches along with a ESXi Server running both Cisco VIRL and a large number of CSR100V instances. There are both pros and cons to using either hardware or virtual instances, something I will probably cover at a later time, including a rundown of my lab environment once its completed.

Today I want to go over something neat I discovered when researching how to deploy CSR1000Vs for my lab, disabling large pages in ESXi. Disabling Large Pages in ESXi is essentially deduplication for memory. This allows for a very large memory savings when running multiple instances of similar VMs (such as 20 CSR1000V instances!). For me on 10 CSR1000V instances I saw RAM use go from 33GB down to 12GB, which allows for even more instances to be installed on the same amount of hardware.

Enabling this feature takes a matter of minutes to implement, and gives a great memory use savings.

*Please note*: I have not done extensive research on the interworking of what enabling this feature does. I have not personally run into any performance issues running this on my CCIELab ESXi host which runs mostly CSR instances with a few other VMs. If you are going to deploy this on a host that is used for other things please take baselines and use caution when deploying. I would also recommend not deploying this feature in production without first consulting a VMware expert.

Now to the fun part!

First lets take a note of what memory usage is currently at:
Before

To have the change take affect, the VMs have to be powered on after the change is made, so next is to power down all of your VMs.

After the VMs are powered down follow the following steps:

1. Navigate to Configuration
2. Under Software: Select Advanced Settings
Steps

3. Select “Mem”
4. Locate “Mem.AlocGuestLargePage” and set its value to 0
Steps2

5. Select Ok
6. Power on VMs

It will take a few minutes (roughly 5 – 10) for the CSRs to fully boot up and for ESXi to deduplicate memory. I recommend turning up as many instances you can and coming back in 10 minutes to enjoy all of the additional memory you just acquired.

And of course, a screenshot of my 10 CSR100Vs running with less memory utilization 🙂

after