Search code examples
virtual-machinevirtualboxswapfile

Do virtual machines need swap partitions?


I am running Ubuntu on my physical machine; and VirtualBox to run various virtual ones on top.

Most of the time, I was doing "straight forward" installations; but today I wanted to be "smart" and checked out the partitions that the fedora or ubuntu installers will create on my virtual disks.

And sure, when going for the defaults, some GBs of my virtual disks will be used as "swap space".

Now I am wondering: assuming that I have plenty of physical memory (so I can assign 6 or 8 GB to a VM) - is there any sense in dedicated swap space for a a virtual machine?


Solution

  • This is answered at ServerFault:

    TL;DR: use swap: 1. avoids out of memory error, 2. guest OS is better at memory management

    Ignoring the fact that people are dealing with OS specific reasons I have two reasons why it's a bad idea to not run with a swap partition/file.

    1. If you have 1.5 GB of RAM allocated to a VM with no space file/partition and it wants to use 1.5 GB + 1 MB it will report an out of memory error. With the swap space it will be able to swap data out of active memory and onto the disk.

    2. The guest OS does a much better job of memory management than the host. This is why technology like memory ballooning exists because the Host can make educated guesses on what memory isn't needed right now but the guest knows at a much more intelligent level (this keeps OS memory from being swapped out which could kill your performance).