Dual Core CPU's and Virtual Machines
Anyone out there running Virtual Machines on Dual Core systems? How well do they run? I'm running Windows Server 2003 and 2000 server virtual machines on a machine running windows server 2003, dual 700 PIII's, 915 MB RAM. VMWARE is the virtual machine's environment and I haven't had any issues so far (I had plenty of issues with MS virtual Server). Anyway, things are running slow - acceptable but slow. This is just a testing and experimental machine however. Give me some minimum specs for a decent machine handling 2 virtual machines smoothly. Thanks.
I tried ms virtual machine (the free one) on xp home (it says it wont work on home but it does), I installed to try and get a preview on Vista .
I have a 4800+ and 2gb ram and this doesn't seem to handle the virtual machine particularly well (I tried on win 98 out of curiosity as vista wouldn't download correctly for me ), also ms vitrual machine doesn't use more than one cpu itself (although you will still benefit greatly from having a spare core for the host os).
I think vmware uses more than one core, if it does, you could consider a quad-core setup (giving the real and virtual pc two cores each), obviously with lots and lots of ram.
VMWare does allow you to select which processor you want to use, whether 1 or all of them. That's pretty cool. I'm going to try Vista in a VMWare virtual machine, I really need more RAM and a bigger hard drive, however. I have a 3700+; it runs most things very well. But when it comes to virtual machines, It's amazing how it can bring a powerful machine to its knees. That's why I wanted to know who was running virtual machines on their PC smoothly.
Well, I have a Dell E1705 with an T7400 processor and 2GB of DDR-667 memory, and I run XP Pro with 2 virtual machines often, and the most limiting factor I run into is RAM. My system does pretty damn good for performance until I load up 2 virtual machines. I'm almost certain that RAM is the limiting factor as I see the swapfile start getting used heavily even when I use just 512MB for each virtual machine. When i'm running just 1 virtual machine doing CPU intensive work quite often I see it best out the system where I quite often have to do the same identical task, sometimes by more than 30%. The system that I'm comparing to is a Pentium 4 3.6Ghz with 2GB of ram. But when I start doing alot of RAM intensive tasks, that speed gets sucked dry. My advice would be to build a modest Core 2 system and put 4GB of ram in that bad boy. When I saw your RAM on your system I was thinking to myself how little ram you are allocating to the VM machines since you've got less than 1GB. I bet you'd see a pretty descent speed increase from your current system if you added more RAM to it and give the VM Machines more ram. I use VMWare Workstation 6.0, and I'd say 6.0 is a bit faster than 5.5 IMO. So, to answer your question I provide 2 answers:
1. Add another 1GB of ram to your machine and give that computer some new life for your VMs.
2. Build a modest Core 2 Duo system with 2GB of ram minimum.
Vmware Workstation 6.0 lets you allocation up to 2 processors to 1 virtual machine, and I can verify that it does in fact work. So having dual core can make everything work alot better since you are very much multitasking with 3 OSes loaded at the same time plus all your software.
>>>With Virtual server I've run:
- a single core 930 w/hyperthreading enabled (only 50 percent of the cpu went to any single Virtual)
- a single core 930 w/hyperthreading disabled (a virtual would grab 100% of the CPU )
- I upgraded to a dual core Pentium 840. It contunually over heated until I put in a 1 pound copper cooler with 120CFM fan .
- I swapped that CPU out to a 950 which still has a tendency to run hot with a 1 pound copper cooler and a 37cfm fan (however it makes much less noise)
Lession Learned? Big improvment going to two cores.
>>>The VM ware and Virtual server
- I found that VM ran the machines about the same speed but it slowed down if you ran 5 or more Virtuals at the same time. This does not happen with Virtual PC or Virtual Server
>>> with the Hard Drive
- Currently I run RAID 0 which ensures I automatically have a back up. The problem with the SATA drives is they have a slow write. And virtuals are about 3Gb in size. To setup new test servers I need to copy 10Gb (15 if I need a XP virtual). I click copy and come back in 25-30 minutes.
- The 320Gb drives I used got filled within just a few months.
Lession: I would go bigger. Except for the slow write, RAID 0 is great.
>>> With Memory
- currently I am running with 4Gb and leaving (at least) 500mb free for the host machine provides my best performance.
>>> I am going to ....
upgrade to a 4 core when it comes cheap next month, and install to 8Gb ram, and have mirrored 500Gb drives.
Right now I'm testing - studying for my next server 2003 test - 70-291. Requires that I have a couple of servers talking to each other. So I went the virtual way. It's been an interesting experience so far. I'm imagining what could be done with a powerful system and a few virtual machines. Trying to put my thoughts together. Any of you who have already been where I am right now - share your thoughts and secrets with me, please. A MS trainer in Gaineville, FL told me that the Florida Farm Bureau utilizes virtual machines. Seems interesting. Cut down on Hardware cost and electricity, and maximize what your hardware can produce. Love it!
Before Virtuals: We used 15 physical machines to testing.
Now: We now have 2.
Before Virtuals: we had to back up the entire machine on to DVD before formatting and reinstalling windows to create a new test machine. (or Ghost or restore an old machine)
Now: We have 8 base images and we copy, rename and run newSID (from sysinternals). To restore an old image... we just turn it on.
For testing life is alot easier.
My bad RAID 1 not 0...
Virtual is the way to Go for many production systems.
Especially if they don't really need the full power of a box which so few things do.
If doing production work, really look at VMW ESX which basically has no host OS so its much more efficient.
If you really want to use a host OS, consider Linux instead of Windows.
Its much faster.
I have deployed many 8-way servers with loads of RAM using ESX that host a large number of Windows Servers that take a pounding and keep on working.
VMW ESX is so cool.
Let's Say you have 5 Physical Servers each running 10 Windows Servers for a total of 50Servers.
Then lets say you buy a new server to replace the oldest server.
You could actually move those 10 virtual servers to the new ESX server w/o shutting them down or anything.
Great for hardware upgrades, hardware maintence, etc. etc...
Lets say that one server is being overloaded.....
No problem, you move a virtual server form one physical box to another, but never stop anything.
Basically most of the folks I work with now put everything on ESX, unless it takes huge amounts of horse power.
I've been running virtual server on a quad cpu xeon system with 8GB ram, 4 instances of server 2k3 ent, 1 exchange, 1 sql, and 1 bdc with various utilites. And I also run some non-critical stuff on the host OS like Cacti and such.
It will be nice when the next version is released which will allow multithreading between cpu's on each vm. Course non of my cpu's get even 30% utilization right now