RAM Management in Parallels virtual machines

150 users found this article helpful

Question

Information

Please check system requirements of your Parallels Desktop version to see how much RAM your Mac should have for running Parallels Desktop virtual machines. System requirements can be found in a User's Guide or in this article.

Recommended values

In the virtual machine's configuration window (Hardware tab > CPU & Memory) you may check the range of memory which Parallels recommends for productive performance. This range depends on the total amount of RAM your Mac computer has (to check Mac memory click on Apple logo > About this Mac):

NOTE: Please pay attention when exceeding the recommended RAM value - your overall Mac performance may be significantly decreased.

Also note the number of virtual machines you intend to run simultaneously - as more VMs you want to run at the same time, as more computer's RAM will be consumed by Parallels Desktop (a summary of values assigned to every VM).

Maximum amount of RAM Parallels Desktop supports

In Parallels Desktop for Mac you can assign up to 8GB of RAM to your virtual machine. In Pro Edition you can assign up to 64GB of memory.

NOTE: In contrast to the standard version, in Parallels Desktop Pro you can assign to the virtual machine more RAM than your Mac physically has but as far as this is done via creating a swap file on the hard disk, this might result in performance degradation as HDD speed is significantly lower than RAM.

Additional information

There is also a limitation that may prevent you from assigning the maximum memory - it's the maximum physical address size supported by your Mac's processor. To check the maximum address size on your Mac:

  1. Download and install MacCPUID utility
  2. Run MacCPUID utility. Go to the Misc tab -> Address Sizes -> Physical Address.

  3. If the value is 64 or below, you will not be able to assign all 64 Gb of Memory to your virtual machine due to the processor technology limitation.

When your virtual machine runs, by default it tries to lock all the memory assigned to it from the Mac RAM. However your virtual machine runs on top of the macOS, so we need to make sure the macOS is always provided with efficient memory amount to run with no glitches. It was concluded the OS X should always have access to some significant amount of RAM installed on the Mac.

The amount of memory your virtual machine will use can be divided into 3 parts: - the virtualization overhead: uses only about 8-9 % of the total amount of RAM assigned to the virtual machine, however it is always stored in the Mac physical RAM. - the "main" memory, which works as RAM as such inside the virtual machine: configured in the virtual machine configuration -> Hardware -> CPU & Memory. - video memory: Hardware -> Video (Graphics).

The virtual machine tends to use the Mac "wired" memory. This is a memory that cannot be compressed or swapped to the Mac hard disk. This is done to provide your virtual machine with the best performance. However if your Mac runs any other applications that use the "wired" memory and the virtual machine's memory is set outside of the recommended RAM range, the "wired" memory may soon reach the size of the physically available memory that will significantly degrade your Macs performance.

To avoid performance degradation of your Mac when the amount of memory assigned to your virtual machine is in "yellow" or "red" zone Parallels Desktop can swap some amount of the virtual machine's memory to the Mac Hard disk. Taking into account that the read/write speeds of the RAM and the HDD devices are significantly different, your virtual machine may endure some performance degradation.

Even though Parallels Desktop can swap some amount of the virtual machine's memory to the disk thus making the total amount of memory available for the virtual machine even bigger than the total size of the physical RAM installed on the Mac, the amount of the virtual machine's memory that cannot be swapped to the disk will always be not less than about 30% of the total memory assigned to the virtual machine. This is done to guarantee the performance and the stability of work for your virtual machine. That is why, for example, it will not be possible to assign more than 7.4 Gb of memory (both the main Memory and the Video Memory) for the virtual machine running on the Mac with 4 Gb of RAM installed.

Was this article helpful?

Tell us how we can improve it.