Choosing the Right Virtual Machine Settings

Choosing the Right Virtual Machine Settings

Disclaimer: This is a personal document and is not official or endorsed by VMware. Feedback, suggestions, and edits are welcome.

This document is intended for someone new to Fusion, and possibly  someone who is new to virtualization in general. It describes some  choices a new user faces when setting up a virtual machine. This guide  is written for VMware Fusion 2.0.x; earlier versions have slightly  different wording in some places. New users may also be interested in

A Beginner's Guide to VMware Fusion.

If you want to be notified of changes and additions to this document,  you can use the "Receive email notifications" action in the sidebar on  the left. Please use the comments below only for things

specific to this document; general questions are better off in the

discussion section.

To Boot Camp or Not To Boot Camp?

Fusion can use existing Boot Camp partitions or use a virtual disk  stored in a large binary file. There are advantages to each, but my  general advice is that unless you need a specific trait

of a Boot Camp virtual machine, it is better to use a file-based (normal) virtual machine

.

Advantages of a Boot Camp virtual machine

  • Can boot natively into the guest OS for full access to hardware -  useful if you need full 3D support, Firewire, ExpressCard, or absolute  maximum CPU/network/RAM.
  • Useful if you already have a Boot Camp partition set up and don't want to reinstall programs
  • Converting to a normal virtual machine is relatively easy
  • No fragmentation problems from OS X's point of view (the guest filesystem may still become fragmented)

Advantages of a normal virtual machine

  • Portable between disks/computers
  • Suspend/Snapshot (this is disabled by default for Boot Camp virtual  machines because doing either and then booting natively could cause disk  corruption)
  • Fewer/no reactivation problems (while this should also be fine for  Boot Camp virtual machines, it's one less thing that can go wrong and  some people report problems)
  • Probably faster guest disk performance (because OS X can cache things, and because OS X's raw disk path is not optimized)
  • Virtual disk can be sparse (starts off small and grows as necessary)
  • No need for an administrator password (especially important if the user is not an administrator)

Which Guest OS?

If you already have a license or requirement for a particular OS, your  choice may be easy - just use what you have. On the other hand, if  you're thinking of buying a license, or want to try out other OSes, this  might be worth some thought. Which OS is "better" is a personal thing  and the subject of many a geek flame war, but here are some of my  thoughts:

  • Windows Vista has a pretty large set of system requirements: about 8  GB disk just for the Windows install, and 1 GB RAM is preferable. XP  has a much lighter set of requirements: 2 GB disk just for the Windows  install and 256 MB RAM is fine. Windows 7 is supposedly lighter than  Vista and closer to XP in terms of system requirements. Of course, your  experience will depend on which programs you need.
  • Fusion does not have a 3D WDDM driver, which is a requirement to run Vista's (or 7's) Aero interface.
  • If you're not tied to Windows, consider Linux. Most Linux  distributions are free, and are more than good enough for everyday tasks  like web browsing and email. They also come with a bunch of free  software, such as OpenOffice and the GIMP. If you decide you don't like  it, you can always go back to Windows.
  • Fusion also supports (and has Tools for) Solaris, Novell Netware,  and FreeBSD. These are probably not of as much interest for a beginner,  but if you decide you like playing with OSes, you can try them out too.

How Much Disk Space?

Although it's possible to change the size a normal virtual disk, this  can be difficult for beginners, so it's better to get the size right  from the start. Consider how you plan to use the guest - what programs  and what data. For example, a fresh install of XP (with all patches)  will run about 2 GB, but a fresh install of Vista will be more like 8  GB. Office, Photoshop, and other large programs have their own footprint  to account for. Regular files are small, but things like digital video  can be large (about 10 GB/hour). Finally, you want some breathing room  in case your needs change a little bit and for other things like swap  space.

Another concern is how much space you have available. Shrinking a disk  may require as much free space as the partition to be shrunk (this is  usually the size of the virtual disk). Thus it's a bad idea to make the  virtual disk as large as the free space.

Remember that snapshots can cause the virtual machine to be larger than  the maximum size of the disk - in the worst case, a snapshot can be as  large as the maximum size. Thus a virtual machine with a 10 GB disk  might need as much as 20 GB space if it has one snapshot, up to 30 GB if  it has two, and so on. Also keep in mind that Autoprotect is based on  snapshots, so if you're keeping 10 autoprotect snapshots, you might need  110 GB for the disk (10 GB for the base disk + 10 snapshots at 10 GB  each).

What Type of Disk?

Under the advanced disk options of the Virtual Hard Disk step, you have  the option of using a preallocated or sparse disk, and also monolithic  or split. These options are briefly described in A Beginner's Guide to VMware Fusion

. My personal recommendation is sparse-split

(e.g. leave "Allocate all disk space now" unchecked, but check "Split  disk into 2GB files"), but if you have a large virtual disk (e.g. on the  order of 100 GB) and use snapshots or Autoprotect, you may be better  off with sparse-monolithic

in order to avoid running out of file descriptors.

Remember that although sparse disks

grow as necessary, they

don't shrink automatically. If you have a sparse disk with 5 GB, write 5 more GB and  then delete 2 GB, you'll still have 10 GB used, not the 8 GB you might  expect. The reason for this is that on most OSes, when you delete a  file, you're just changing a small amount of metadata for a file to say  "nope, nothing here" (this is how disk recovery programs work - they  reconstruct what the metadata probably was). However, Fusion operates at  too low a level to know the difference between a deleted file that's  just wasting space and actual valuable data. When you delete a file,  from Fusion's point of view very little has changed. To shrink a disk,  Fusion needs help from something that

does know about this  difference. During the shrink process, VMware Tools tells the guest OS  to identify stuff that's unnecessary so that Fusion can compress the  disk. However, this can be a somewhat slow process, and Fusion doesn't  start the process until you tell it to.

To Share or Not To Share?

If you use the Easy Install, one of the options is about making your  home folder available to the guest. Your choice controls whether the  guest can read or write to your home folder (and in the case of Windows  Easy Install, whether special folders are mirrored). This option is not  necessary to install or run the guest, and you may wish to disable it  for better guest isolation. Leaving it enabled may make it more  convenient to access your files.

How Much RAM?

Software, especially modern OSes, like to gobble RAM. While it might  seem like a good idea to give the guest as much RAM as possible,  remember that OS X needs some too. The more you give to the guest, the  less is available to OS X. It's no good for the guest to have gobs of  RAM if host apps (including Fusion!) are being paged out. A good split depends on what you're doing in the host/guest

and how much RAM you have total - if you're doing more work in the  host, give more to the host; if you're doing more in the guest, give  more to the guest. As a very general

rule of thumb for common  configurations (e.g. this may not apply to people with very powerful or  very underpowered systems, or who have unusual guest/host work splits), don't assign more than half your RAM to all running virtual machines

.

You can change the amount of RAM while the guest is powered off  (suspended doesn't count) by choosing Virtual Machine > Settings >  Memory. If you want to change this before installing the guest, uncheck  "Start virtual machine and install operating system now" on the final  setup page of the New Virtual Machine Assistant.

After you've installed the guest OS and your programs,

gbullman has a good post on how to experimentally determine how much RAM the guest wants:

Re: What's the sweet spot (memory-wise) for my Macbook?.

How Many Virtual Processors?

At first glance, it might seem that enabling multiple virtual processors  is always a good thing, but in many cases it's not. To use an analogy,  let's say that physical processing units are seats at a restaurant  (granted, a very small restaurant - for the sake of this example, let's  say it has 4 seats, e.g. a 2x2 core Mac Pro). Processes are people who  want to eat, and sometimes you get a group of people who all want to be  seated together. It's easier for the restaurant (i.e. host OS scheduler)  to handle seating (i.e. running) 4 single people than a single group of  4 people, especially when you remember that a normal system will easily  have tens or hundreds of processes at a time.

To turn this analogy back to a technical explanation, a common problem is

synchronization,  where a program decides it needs to make sure it's at the same point  across different threads or processors -- in other words, a group of  people who want to be seated together. On a physical computer, it's not a  big deal because the other CPU isn't doing anything else but catching  up (e.g. if one person is a little late for the reservation, it's not a  big deal). However, on a virtual machine, the guest is potentially  competing with other programs for CPU time - this is more of a problem  on Macs with only two cores to begin with (i.e. there aren't as many  seats to go around in the first place), which is every currently  shipping model except Mac Pros. While the guest is trying to  synchronize, even if Fusion has time on one core, it may not be able to  make progress and "spins" doing nothing, since it needs

both cores

at the same time.  To make matters worse, OS X is the one to decide when and where  programs get to run, and last I heard, there were no way to ask OS X for  the necessary scheduling (i.e. there's no way to make group  reservations; the best we can do is to sit down and hope that everyone  manages to show up before the restaurant kicks us out and moves on to  the next set of people). Exact numbers of course vary by the exact  setup, but a rough numbers I've heard of additional idle CPU overhead is  in the ballpark of 30%.

This is not to say that using multiple virtual processors is always bad.  If you have a workload that actually can make use of multiple cores,  you can definitely get a boost. Another useful case (though probably  rarer) is if a developer needs to test a program on multiple processors.   In general, though, my advice for this area is similar to my thoughts  about Boot Camp -

use multiple vCPUs only if you know you need it, but otherwise leave it alone.

You can change the number of virtual processors while the guest is  powered off (suspended doesn't count) by choosing Virtual Machine >  Settings > Processors. If you want to change this before installing  the guest, uncheck "Start virtual machine and install operating system  now" on the final setup page of the New Virtual Machine Assistant.

Note: Many operating systems have different kernels or hardware  abstraction layers (HALs) depending on how many cores they detect at  runtime. Changing the number of virtual processors after installation  may not trigger a change of the kernel/HAL. One notable example of this  is Windows XP, and Microsoft does not support changing the HAL without a  complete reinstall (it's unofficially possible). Therefore, it's better  to choose the appropriate number of virtual processors

before installing the guest.

NAT, Bridged, or Host-only?

The default network type, NAT, allows multiple computers (e.g. the  guest, in addition to the host) to share one connection. This is good  for situations where you can only get one IP address (such as when  you're directly connected to a cable modem), as well as preventing  external computers (perhaps with viruses) from initiating connections to  the guest. On the other hand, some useful things, such as Bonjour  networking, require Bridged networking. A more detailed explanation of  these modes is in Understanding Networking in VMware Fusion

.

If one type of networking isn't working for you, try the other. If you  change the networking type, remember to get a new IP address for the  guest if necessary (if you don't know whether it's necessary, it  probably is) - exact instructions vary depending on the guest, but for  Windows disabling/enabling the network adapter or restarting the guest  should do it.

If your guest requires internet access, my suggestion is

NAT if possible and bridged if necessary. Host-only (or even no network at all) is more secure, but is suitable for only some use cases.

Viruses and Other Malware

You should treat a guest the same way as you would treat a physical  computer with regards to security. This means that if you connect it to  the internet (which is the default), you should have a firewall, antivirus, and regular updates

.  If you have shared folders enabled, this may provide a path for malware  to read your personal data or (if the guest is able to write to the  folder) infect files. While infected files probably won't affect OS X  (I've not heard of cross-platform viruses yet), they could infect other  guests that access the files.

Tags (1)
Comments

Thank you for all the info. i guess that i want a virtual machine. originally i had installed windows thru boot camp and allocated 50gb but if i am understanding you correctly if i use the regular virtual machine then i let it use what is needed and i don't have to partition anything is this correct? happy jean

RE: Networking. When I installed 1.1, the last window says: The Following Install Step failed: Run postflight script for VMWare Fusion. My Win XP will then open ok, but I get a window that says: Could not open /dev/vmnet8: No such file or directory, Virtual device Ethernet0 will start disconnected. Of course, I then have no network connection. What to do? tjc41@mac.com

You could try a search for "postflight script failed". This isn't a great place to ask general Fusion questions; if you still need help, please start a new discussion

etung: This is the information I have been searching for for the last 4 hours. I read the Beginners Guide to Fusion" earlier but somehow skipped over this link. May I suggest that VMWare include this particular discussion in their pamphlet that came with the package that I purchased. This discussion should be in the front of that pamphlet listed under the title something like "Strategies and Choices For Installing Fusion and/or Boot Camp"

Thanks, G. Silver

Under BootCamp you state:Converting to a normal virtual machine is relatively easy.

It may be easy, but I don't know how to do it and cannot find how in the documentation, unless I've been reading the wrong documents, which is probable.

jtn

thanks for all the info. quick question about the easy install option for home folder sharing. during set-up i chose to enable read & write privileges to my home folder. if i now want to change this option to "read only", do i simply go to virtual machine > settings > shared folders, and check read-only? is this shared folder the same home folder referred to in set-up? i want to make sure the rest of my host osx is protected from guest writing. thanks!

marklewis: Two ways to do it are using Converter, or using vmware-vdiskmanager to clone the raw partition .vmdk into a file .vmdk.

jtn: Yep, that's all you have to do. All the checkbox in the Easy Installer does is set up the shared home folder.

I have tried using converter but with absolutely no success. wmare-diskmanager is something I have never heard of. If I can find it, I will try it. Thanks.

I installed Xp pro 32 bit on a 20gb virtual disc, run out of space and its not even fully installed yet! just transferring my documents.

Any ideas anyone, and how if needed do I increase the disc size??

XP should not take 20 GB to install, my guess is that you're running out of space on the Mac itself. If this is the case, you'll need to free up space on the Mac.

Please post general questions in the discussions section, not on this document.

You describe a "normal virtual machine", but neither the VM documentation nor this thread EXPLICITLY state how to install VMFusion on a "normal virtual machine". Do I simply insert the CD and select my Macintosh HD as the destination volume?

Create a new virtual machine (VMware Fusion > New...) and follow the assistant.

Great! Thanks! So I simply insert the CD and select my Macintosh HD as the destination volume?

Do I get any advantage out of enabling 3-D acceleration if I use my VM primarily for non-graphics processing, such as compiling code and debugging applications? Are there any disadvantages to enabling 3-D acceleration?

*GaryAg, I wholeheartedly agree. Most people want to understand the pros and cons of options before making them, but "virtually" all tech manuals tell how, but not why, right up front. Every piece of software should include a "Read this first to figure out best installation options for you." Even with this doc, I don't know from this statement (about pro of using Bootcamp) >>Can boot natively into the guest OS for full access to hardware - useful if you need ... absolute maximum CPU/network/RAM">> what the practical performance loss would be using a normal virtual machine instead of Bootcamp. This is probably a key concern for many users.

I set up my virtual machine to work off Bootcamp, so I'd have the Bootcamp option. But now I am having XP reactivation issues -- I think because I bought an OEM version of XP. I'd really like to know what actual performance loss I would experience running applications like MS Office Suite, Visio, or elearning apps like Lectura or Adobe Presenter. If the performance loss is negligible for such apps, and if using a normal virtual machine will prevent the reactivation nightmare, then I would obviously do that.

How do I find performance data? I don't care about charts--I want to know this from a real-word working perspective.

Thank you for this helpful document.

With regard to the "What Type of Disk?" section, I would like to know what settings I chose when I set up my virtual machine several months ago but can't remember.

I think I have a split disk (bacause inside the vmwarevm package I see several vmdk files that are all smaller than 2gb). Is that correct?

How do I establish if I used a sparse or pre-allocated disk?

As I'm a newbie, I installed VM with the standard disk space. A few months later, I've decided that 40GB is way more than I need, and with only a 111GB hard drive, more that I can afford.

Half that would be fine. I did a search and found the utility to shrink the partition size to 20GB, but could not figure out a way to release the other 20GB back to the Mac. I'm guessing that's not possible.

My system is pretty simple, so I decide to make a new VM and just recreate the thing. However, when I get to the "Customize Settings" tab, all if gives me is a drop down menu like I'm supposed to navigate to something. I even tried to create the Custom VM, but got the same drop down.

Can you release the unused partition back to the Mac?

How do you make a smaller than default VM partition?

Thanks. all in all, a great product.

I have an error after installing VMware fusion 2.06

"A fatal error has occurred

Please notify the Proctor

The desktop environment does not meet the necessary requirements.hres:725 colors:32"

Can anyone help? Thanks Mark R

Other than changing the amount of RAM, my experience has been that any change in the machine itself (number of processors, NAT to bridged) de-authorizes the guest OS.  It can then be re-authorized, but you burn one of a limited number of these  This applies to a Windows guest on a Windows host running Workstation 7.

Exellent source of info  but almost impossible to find on VMWare site. Current problem is inability to install

VM Ware Tools. Repeatedly hangs up on "removing thinprint Drivers". Now what do I do? I've cancelled and retried multiple times.

Version history
Revision #:
1 of 1
Last update:
‎01-14-2008 08:31 AM
Updated by: