Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

ideonode

macrumors member
Original poster
Jan 28, 2008
35
0
I'm in the market for a new compute-heavy power desktop. I'm generally a machead (alu macbook, iphone, mac mini, bought the girlfriend a MBA etc) but I've never had a mac pro / powermac. My main use-case for the the computer will be to run several (many?) virtual machine images (predominantly linux) to act as a local server farm for dev and compute purposes. I'll probably also experiment with OpenCL (well, CUDA) programming.

To-date, I've been looking at an Win7 rig, with a six-core i7 980X plus bells and whistles (SSD, nVidia 480 etc) - mainly because I can have exactly what I want and it's actually available now.

However, I know I should really wait until the next Mac Pro is announced before making a £3000+ decision. To keep me pre-occupied until that magic moment when Apple deems us worthy enough for the 2010 edition, I was wondering what real-world examples of multiple VMs on a single Mac Pro people had. What's the maximum number you've got running concurrently? If you have them inter-communicating with each other, is there any significant bottlenecks? Presumably a 12GB Mac Pro would be adequate for running, say, five VMs?


tl;dr: What's the most number of VMs you have running on your Mac Pro?
 
4 is the maximum I've got running on my 8 core 12GB Pro.

2 Windows XP with 2 dedicated cores and 3GB RAM for each, 1 FreeNAS (still for ZFS testing) with 1 core and 1GB RAM and Ubuntu with 2 cores and 2GB.

Absolutely no problem for the Pro. All you need is enough RAM and what I recommend is to put the VMs on a SSD.
Initially I had them installed on a 2 drive RAID 0 out of WD Blacks. It was fast, but not as fast as if the machines were installed on a real computer.
I then migrated them on a Intel SDD and the difference was huge. Definitely the way to go!
 
I've had up to 7 or 8 running fine on my Mac Pro, though usually I'm only running a maximum of 2 or 3. They tend to be a mixture of Linux distros such as Fedora, Ubuntu, Arch and Windows Server OS's, though I have Vista in a VM as well.

This is with VMWare Fusion on a 2006 Mac Pro (4 x 2.66GHz) with 10GB RAM.

10GB RAM seems to usually be enough for running 5 VM's that are fairly RAM hungry + quite a few other OSX applications. Though I could probably get away with running a lot more if I was running more striped down Linux distros, rather than ones with full desktop environments.
 
One at a time on my Quad 2.66Ghz/6Gb.

Mainly only the Windows 7 bootcamp partition.

I have Google Chrome OS and Windows XP as other VMs I occasionally use.
 
I had 6 debian lenny server VMs running each with 360MB dedicated on my pro. But obviously this is going to depend on how much RAM you have available/dedicated to each. So long as they're not all chewing on CPU of course.
 
Thanks for the input so far. I think that SSD is a good idea, so along with a boot SSD, I suspect I'll have to get a VM scratch SSD. Ah well, at least the Intel series are finally coming down in price...

So long as they're not all chewing on CPU of course.

That's another of my questions. Presumably, there's a straightforward linear relationship: more cores equals more VMs? Is that right? Does VMWare make best use of multi-core machines?
 
I just have Windows 7 on one VM that's on 24/7. I have allocated 4 logical cores and 4GB of RAM to it.
 
That's another of my questions. Presumably, there's a straightforward linear relationship: more cores equals more VMs? Is that right? Does VMWare make best use of multi-core machines?

More cores certainly makes life easier.

A picture is worth a thousand words:
- running XP on a raw disk for the stuff I need Windows for
- about to update OSX Server
- installing Solaris to test things for work

My quad is running about 50% utilization doing this at the moment (mostly the Solaris install).

I normally only run one or two.
 

Attachments

  • Screen shot 2010-04-02 at 7.56.23 PM (2).jpg
    Screen shot 2010-04-02 at 7.56.23 PM (2).jpg
    208.7 KB · Views: 508
More cores certainly makes life easier.

When you create a virtual machine, how many cores do you normally allocate to it? Do you ever change the number of cores after installing Windows? Does that mean you need to re-activate Windows?

How do you deal with varying memory requirements? Do you change the size of memory visible to the VM as needed? The reason I ask is I assume that Fusion locks down the memory it needs. I only have a 4 GB machine so I need to be careful about that.
 
When you create a virtual machine, how many cores do you normally allocate to it? Do you ever change the number of cores after installing Windows? Does that mean you need to re-activate Windows?

How do you deal with varying memory requirements? Do you change the size of memory visible to the VM as needed? The reason I ask is I assume that Fusion locks down the memory it needs. I only have a 4 GB machine so I need to be careful about that.

I generally allocate a single core to each VM and whatever memory I think I'll need. It's dead simple to adjust, but the VM has to be shut down to change it. I'm not entirely sure how it handles memory but it doesn't appear to be a perfect 1:1 mapping between the allocation and what the vmx process (the VM) uses. The CPU utilization is good - meaning that when the VM is idle, so's the CPU, and when the VM is busy, the allocated core shows activity in the host OS.

I've never run into any of the Windows activation issues I've seen other people report, but I just gave XP two cores and 4gb to see - still no issues here and I've never had a problem booting XP to bare metal (4 cores, 8gb). I don't use Windows 7 in a VM though (well, aside from the early RC, just to play with it).

Perhaps it's usage, but I don't find I really need to change the VMs that much once they're set up. I'm running 8gb of physical memory on the host machine though.

For my uses, it works great.
 
Windows 7 doesn't require a re-activation either if you change the VM settings. I tested it with 7 Professional 32 and 64 bit, both legal copies. Once activated, Windows won't bother you again with activation requests.
 
I run 3 VMs permanently and any additional ones as needed. There's a CentOS 5 x86_64 I use for embedded builds, and an Ubuntu 9.04 I use to build deb packages for EC2 deployment of some custom infrastructure. I also keep a WinXP instance around just to smoke test on cygwin before committing changes. Making sure stuff runs on cygwin comes in handy sometimes. Even though we target embedded Linux and run our own custom infrastructure it's mostly generic posix/unix code and I do almost all dev work natively on OS X. This is on a 2008 2.8 octo with 12GB RAM.

4GB isn't enough IMO, and memory is cheap. Get 16GB and shift your attention to things that actually matter. (I.e. work.)

BTW, I assign each VM as many virtual cores as they'll accept (currently 4 with VMWare). 1-2GB RAM per instance is a good start. 40-100GB. This is on a soft raid 0 volume. If I need more disk I'll use the Drobo since in that case it's likely something of value and I care less about performance.

I back up everything including VMs with a nightly clone as well.
 
There's quite a bit to consider when allocating resources to a VM. The vCPU concept can really bite you in the ass when you bring HyperThreading into the mix, and nevermind oversubscribing memory....

Anyways, I've got a 09 quad with an upgraded processor (w5580 3.2Ghz) quad core processor and sadly only 6Gb of memory. In my Fusion library I've got 4 machines ATM (kubuntu, 2 Server 2008 x64 and a x64 Win7 machine) all of which can run simultaneously without issue. Infact the 2008 machines are interdependent (for source control and project management apps) and to fully function have to have each other running.

I'm only doing testing/development work on my machines so they're not stressed which lets me get away with alot. Running all the machines at once is no problem but they're not under load.

For £3000 you can get a killer system for virtualization, but is virtualization your only goal? If it's not and you want a base workstation then you need to prioritize your spending. The top priorities are (IMO):

IO
CPU
Memory (amount, not speed)

If you're looking to spend that kind of money you might want to look at a dedicated HEADLESS ESXi host. Fusion is good, but you'll get the most bang for your buck out of ESXi. There's no need to waste resources on the display niceties that Fusion provides if you're not going to use them.

If you're not in the market for a workstation and a VM host and want them on the same hardware the you'll have to accept that you're not going to get the best VM performance that you could. However, if this is your path (combined workstation and VM host) get an 08 machine. The refurb store has the 3.2 08 model in there for a wonderful price. Paired with a good IO subsystem this would be a killer workstation and VM host. The memory speed would be the biggest detriment between the 09 and 08 models, but it wouldn't affect what you're doing in any significant way.

If you can wait to see what the '10 models bring, maybe you can pickup a 09 octad for a good price. For now though, the 08 3.2 is your best value.
 
I have to wonder whether a better option for the host machine would be a Linux box running VMWare Server. Plus, if your guest OSes are just running server OSes, your graphics needs are quite modest.

ESX is another option but it's expensive - intended for enterprise use.
 
I virtualize XP Pro, 7 Pro, Sabayon, Ubuntu, and 10.5 (shhh). These are on a 2008 MP system with all of the trimmings. The Windows installs get two cores and 4GB ea, Everything else gets 1 core and 2GB. I usually have the XP one running all the time, and Ubuntu most of the time. The others are mostly just for compatibility testing. I have all of the systems running from a HDD stripe that is separate from the boot drive. No complaints here.
 
Thanks, everyone, for all the great advice on resource requirements. The reason I asked was because I can only put 4 GB in my iMac. (My excuse for asking in the Mac Pro forum is I'm thinking about buying one).

ESX is another option but it's expensive - intended for enterprise use.

You can get ESXi for free. But I think they somewhat cripple it by charging for some management software. I haven't tried that, I've only used Fusion.

Edit: I just checked on everymac.com and they claim that people have put 6 GB into my 1st gen Al iMac. So maybe I'll try that if I find that 4 GB isn't enough.
 
You can get ESXi for free. But I think they somewhat cripple it by charging for some management software. I haven't tried that, I've only used Fusion.

Well the pretty UI management console (VirtualCenter) costs money, but you can do any administration you need from the command line. I also believe you get the free webapp where you can view the console session of the VM (which is invaluable I must say).
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.