Your computer probably doesn’t have enough memory to run all the applications you need simultaneously. If you or your team are getting those dreaded “Please close an application so you can load another” prompts, it’s time to invest in more virtual memory (vRAM).
In this article, our IT experts explain the essentials of virtual machines, virtual memory, and how you can leverage it to improve efficiency and cut your hardware costs.
Virtual Machines 101
A virtual machine (VM) is often described as a virtual computer within a computer. Its components are similar to those on your physical laptop, tablet, or server, but they exist in a virtual environment.
There are three main components to running a virtual machine:
- Disk space
A virtual machine uses dedicated memory, CPU, and storage from a physical device, but it is partitioned away from the rest of the device’s systems, so it cannot interfere with the host computer’s operating system.
While there are also other vital requirements, such as the network interface card (NIC), CD/DVD drive, and video card, those components are not required to be configured to create a virtual machine.
This article will focus on the RAM component and more specifically, virtual memory.
How Virtual Memory Works
Your team’s software and apps probably use a lot of their devices’ memory—especially if they’re using several applications at once. For example, suppose you have a laptop with a 4 gigabyte (GB) hard drive. During your normal work day, you’ve got multiple large documents open on Excel, Word, and PowerPoint. You’re also continually checking your email, running your project management software, and using Zoom to attend meetings. At even given time, you probably have seven programs operating.
It’s likely that you’ll overwhelm your computer’s RAM (random access memory) almost every day.
To resolve this productivity issue, you have two primary options: install more physical memory or supplement it with vRAM. Physical RAM is typically more expensive than other types of storage, like hard discs and solid storage.
Virtual memory supplements a device’s primary memory and acts as if it were part of the device’s RAM. When you’re nearing your computer’s physical RAM capacity, it can seamlessly shift applications to a paging file, letting your computer handle more data than before.
Virtual memory is also less expensive than physical memory. Rather than investingi in physical RAM when users are maxing out their devices’ memory, your system can temporarily move unused data to your vRAM, enabling your team to do more work with less physical memory on their devices.
Determine Your Virtual Memory Requirements
Before you begin building your virtual machine, you need to determine your machine’s function and plan the virtual memory resources accordingly.
For example, if you are running a Windows Server 2012 R2 machine, the minimum requirement is 512 megabytes (MB) of RAM. However, depending on the server’s purpose, the RAM will most likely need to be increased. If that server were to be a mail server running Exchange 2013, it would need at least 8GB of RAM as that is Microsoft’s requirement.
That’s quite a range. So, how do you build a solution that meets your team’s evolving needs?
Consider Your Virtual Memory Settings
Configuration can begin once you know what resources are required for your server. There are a few different settings we need to configure for this machine:
- Shares: state the priority for the virtual machine if there happen to be more memory available than the set reservation.
- Reservation: the lowest amount of RAM you want the system to have. Seeing as the Exchange 2013 server requires at least 8GB of RAM, we would not want to use less than that, so our reservation would be set to 8GB.
- Limit: the maximum amount of physical memory that the host can assign to the virtual machine. If we did not want the machine to consume more than 10GB of the host’s memory, we would set that limit to 10GB.
Depending on the number of virtual machines that a host has, there can be memory over commitment setup.
An example of over commitment would be if a host with 12GB of RAM is running with four virtual machines. Each machine could be configured for 4GB of RAM. While it looks like 16GB of RAM in total would be required, it is unlikely that each machine would be using the full 4GB of RAM as one of the machines could be using only 1GB of RAM and essentially freeing up the other 3GB.
This is a memory management technique the VMware vSphere Hypervisor ESXi host utilizes that allows the virtual machines to use more memory than the physical host has available. This typically happens when one of the virtual machine runs idle so the ESXi host will transfer memory to one of the other servers that might be under a heavier load. If one of the servers should always have 4GB allocated to it then the reservation needs to be set on that virtual machine for 4GB.
How to Use Memory Ballooning
The host uses memory ballooning to recover unused memory from its virtual machines. Once any unused memory is recovered, it will make it available to the other virtual machines.
Memory ballooning also allows for more memory to be used by the virtual machine than what the host has available, much like over commitment. If the host runs low on physical memory resources, memory ballooning will assign the memory selectively to the virtual machines. The host uses a “balloon driver” which runs inside the virtual machine to determine how much unused memory it can retrieve.
There can be some issues with memory ballooning however.
If the driver ends up trying to allocate more memory to a VM than what the host physically has, then it will try and use memory swapping.
When a virtual machine is powered on, a separate swap file for the virtual machine is created. If necessary, the hypervisor can directly swap out guest physical memory to the swap file, freeing the host’s physical memory for other virtual machines. This takes time, as well as slows down the virtual machine, depending on the amount of memory to recoup.
While is it not bad for memory ballooning to happen once in a while, it’s best to plan ahead to make sure the proper resources are in place for each virtual machine. Even after the virtual machines have been deployed, using monitoring solutions such as VMware’s vCenter Operations Manager to monitor the resources of the virtual machines can help keep all the operations running smoothly.
Want to Learn More About Virtual Memory?
If you need help determining your business’ virtual memory needs, consult with an experienced IT professional. Our team does more than throw out cookie-cutter memory solutions. We’ll look at your team’s specific needs, your software applications, and existing infrastructure. Then, we can build a customized IT solution that is scalable and easy to use.
You can reach Virtual Systems by completing our online contact form.