Virtualization is the means through which several instances of an operating system can run on a single hardware platform. Companies use virtualization to consolidate the number of physical servers in the data center. The IT admin must carefully size the amount of memory used by virtual machines.
A Brief Introduction to Virtualization
Virtualization provides organizations with the ability to reduce the overall footprint of the servers in the data center. Conceptually, virtualization is the ability to run several instances of an operating system on a single piece of hardware. Each of these virtual machines and the guest operating system access the hardware as if it were a physical server. There are several types of virtualization and each has its own methods of resource allocation. For the instances below we will use VMware to answer the question, "how much video memory do I need for virtualization?"
The physical server itself, also known as a hypervisor, must be properly sized to the number or type of virtual machines it is expected to support. When the physical resources of the hypervisor are insufficient, the performance of all of the virtual machines running on that system suffers.
Quantity of Virtual Servers
One of the first considerations is the number of virtual servers running on the hypervisor. As more virtual systems are added, each one must have a sufficient amount of memory allocated. VMware provides its own recommendation during the virtual machine creation. It defaults to 384GB. The new virtual machine wizard provides sliders allowing the user to allocate the amount of memory desired.
The amount that can be allocated is dependent upon the total amount of physical RAM installed on the hypervisor. In this example image to the right, there is 32GB of physical RAM available for allocation to any virtual machines.
The Operating System Being Deployed
Another consideration is the operating system installed on the virtual machine. The administrator must take the recommendations of the OS vendor very seriously in considering how much video memory is needed. Where operating systems like Fedora Core Linux operate with memory ranges between 512MB and 1GB, Microsoft's Windows Server 2003 runs best with 4GB or greater. Windows Server 2008 starts with 4GB and recommendations go all the way to 1TB of RAM.
The administrator cannot install Windows with the minimum of 512MB and expect reasonable performance from the virtual machine, although he can install many instances like that on a single hypervisor. The recommended amount of RAM for Linux with a GUI shell like KDE or Gnome is 1GB. Windows Server 2003 is 4GB and Windows Server 2008 is 6 to 8GB of RAM.
Consider the Applications
Operating systems without an application do not have much use. Administrators must consider the applications running on the virtual machines. Is the system serving up web pages? E-mail? Hosting a database? Servers acting as a file share do not require as much memory as a server hosting a database or an e-mail application. The administrator must take the memory recommendations of the application vendor into account when sizing the virtual machine.
These recommendations coupled with the needs of the operating system determine the starting memory for the virtual machine. The administrator must then collect performance data from the virtual machine as it runs in production. If the virtual machine performs poorly when under load, the amount of RAM allocated to the system must be increased.
VMware Education Services, VMware Infrastructure 3: Install and Configure Student Manual, VMware, 2008
Microsoft.com: Windows Server 2008 R2: http://www.microsoft.com/windowsserver2008/en/us/system-requirements.aspx
Screenshot provided by writer.