• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

VM Settings

Tsaar

Guest
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:
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.
 
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).
 
Back
Top