VM Settings

Tsaar

Guest
Apr 15, 2010
228
0
76
I usually run a few VMs at home and I am wonder if anyone has done any tests to see what are the "optimal settings" for a VM.

From my limited understanding of VMware hardware interfacing algorithms, I believe that allocated memory does not translate directly into virtual memory used by the guest OS. For example, will a 32-bit Ubuntu guest OS behave much differently with 2GB,4GB,8GB,etc allocated?

Obviously going too low on memory will be a hindrance, but possibly does VMware do some caching in the extra allocated memory that boosts I/O performance?

For number of "processors" (i.e. cores), what is the general rule? I have a q6600 at home and set it to 4 cores because when I am using the VM I am not typically doing anything in the background. I do notice if I am lazy and pull up a video when using the VM instead of using the host OS all 4 cores typically max at 100%.

Also, as mentioned, it seems that VMware just brute forces the video. Is there anyway to have the rendering done by my GPU instead?
 
Last edited:

theevilsharpie

Platinum Member
Nov 2, 2009
2,322
14
81
Obviously going too low on memory will be a hindrance, but possibly does VMware do some caching in the extra allocated memory that boosts I/O performance?

A VMware virtual machine will behave like a normal PC when it comes to memory. If you give it too little memory, the guest will start paging. If you give it more than it needs, the guest will use the excess as a cache. Depending on your needs, keeping the excess as a cache might be beneficial or wasteful.

For number of "processors" (i.e. cores), what is the general rule? I have a q6600 at home and set it to 4 cores because when I am using the VM I am not typically doing anything in the background. I do notice if I am lazy and pull up a video when using the VM instead of using the host OS all 4 cores typically max at 100%.

The more virtual processors a virtual machine has, the more challenging it is for the operating system to schedule processor time for the virtual machine. If the virtual machine doesn't receive the processor time it expects, it can stall. For real-time applications such as video playback, this can result in a lot of stuttering. This is particularly true with host-based hypervisors such as VMware Workstation, where the host operating system controls CPU scheduling and VMware has no ability to affect it.

Virtual processors is a case where less is oftentimes more. Unless the application benefits from multiple processors, a single virtual CPU should be used. Also, to maintain optimum performance, a single VM should not be assigned all of the processor cores within a system (i.e., if you have a quad-core processor, don't assign more than 3 cores to the VM).

Also, as mentioned, it seems that VMware just brute forces the video. Is there anyway to have the rendering done by my GPU instead?

This has more to do with driver capability than anything else.

For VMware, their Windows drivers can use the GPU for certain tasks. I don't know if it can use the GPU for video with normal players, but it should work if the player draws the video onto an OpenGL canvas.

I don't believe VMware's drivers use GPU acceleration for any OS other than Windows, although I could be wrong on that.
 

Tsaar

Guest
Apr 15, 2010
228
0
76
Thanks for the great information. I just picked up a 2600k today (amazing deal from MC in the Hot Deals section).

With 8 virtual cores, I am hoping assigning two cores to each VM should allow for easy management by the host OS (in this case Windows 7...possibly Windows 8).