VMware Cloud Community
SuperJason
Contributor
Contributor

64-bit host, 32 or 64 bit guest?

I'm running Windows 2008 Server x64 as a host OS for VMware workstation. I have a virtual machine set up to run my development environment. Currently I'm running Windows XP in the virtual machine. Is there any performance benefit of using a 64 bit guest OS when the host is 64 bit? Or should I just stick with a 32 bit OS for the guest?

Thanks!

Tags (3)
Reply
0 Kudos
5 Replies
drummonds
Hot Shot
Hot Shot

The primary criterion for deciding whether to use a 64-bit OS should be if your applications need it. If you've got 64-bit apps that need the additional memory space provided by 64-bit OSes, then go for it. If your apps won't need it or if they are 32-bit, stick with a 32-bit OS. In fact, at a previous job we measured an average of 10% slowdown on a sample of 20 32-bit desktop applications when using WinXP-64 versus WinXP-32. Native 64-bit applications on a 64-bit OS run well, though.

Scott

More information on my blog and on Twitter: http://vpivot.com http://twitter.com/drummonds
Reply
0 Kudos
SuperJason
Contributor
Contributor

I understand. I'm trying to determine if the guest performance is affected if the guest and the host are different. Since I'm using a 64 bit host, I was wondering if there is a penalty for using a 32 bit guest. For example, I wasn't sure if there was any kind of bizarre memory translation or anything.

Reply
0 Kudos
drummonds
Hot Shot
Hot Shot

OK. You stumped me on this question and it sounded interesting enough to be worth running down an answer. So, I can now comment authoratatively.

There is virtually no difference between 32- and 64-bit guest/host combinations with IO operations. Generally 64-bit platforms (when the application and OS are native 64-bit apps) perform better on memory. Because there are some interesting combinations with Workstation (or Server, for that matter) there are some cases where a small difference can be seen in memory benchmarks. Here's the matrix:

Host

Guest

Notes

64-bit

64-bit

Memory speed is at its best. This mirrors what you'd expect with 64-bit apps running on 64-bit OSes.

32-bit

32-bit

Memory performance slows down to a degree matching the slowdown when going from 64/64 apps/OS to 32/32 apps OS.

64-bit

32-bit

A very slight increase in memory performance is perceptible over the 32/32 case.

32-bit

64-bit

Memory performance matches the 32/32 case.

And, no, that 32/64 case is not a typo. Workstation will allow you to run 64-bit guests on 64-bit hardware that only has a 32-bit host OS.

And, again, just to be clear: performance differences are only visible on memory benchmarks. Even then they're small. So, total system or application performance relies very little on your 32/64 combination.

More information on my blog and on Twitter: http://vpivot.com http://twitter.com/drummonds
Reply
0 Kudos
SuperJason
Contributor
Contributor

Thank you very much, that's what I was after!

Reply
0 Kudos
VM0Sean
Enthusiast
Enthusiast

Sorry to resurrect the old thread but what about memory utilization and sharing on a 64/64 vs 64 host / 32 guest?

VMWare must have some memory sharing capabilities for similarly mapped components between multiple guests running on the same host.  With 32-bit systems a lot of DLLs will dynamically be rewritten to handle the 32-bit memory architecture that is native to the machine that it is running on which causes these memory regions to be different than an otherwise identical memory region on another guest.  64-bit OSes do not have this remapping which should allow the host to more effectively share memory between multiple guests.

Does anyone know if this is the case with VMWare?

Reply
0 Kudos