Ramblings from another nerd on the grid
I received a flurry of questions via email when I posted information the other day that I had 8GB of memory in my Apple MacBook Pro. At the time of my post, I had only intended to boot the OS and see that it appeared to work correctly, recognize the updated amount of memory and shutdown cleanly. In other words, a short cursory test.
But the questions kept coming so I decided last night to reinstall the memory and do more testing. This time I decided to put my ThinkPad T61p back to it’s original configuration of 4GB RAM and do some longer term testing on the MacBook Pro.
Now For The Bad News
Unfortunately after running the MacBook Pro for almost 24 hours, it isn’t looking good. One of the key scenarios for wanting to move to 8GB isn’t working worth a damn. I’m talking about virtualization.
VMWare Fusion Testing
I started my virtualization testing using VMWare Fusion. It’s my preferred Mac desktop virtualization product and considering I purchased it last October, it seemed to be the logical place to start. I already had several virtual machines built and waiting in the wings for testing. To be specific, I tested Windows Vista Enterprise SP1 x86, Windows Server 2008 Enterprise x64 and Red Hat Linux Desktop 5.1 x86.
The very first test I ran was to increase the memory allocation on the Windows Vista virtual machine from 1GB to 3GB. Seemed like a simple enough test. I mean after all, if that ran well, then it would be time to run Windows Server 2008 with a similar memory allocation, thus proving Fusion and OS X could handle the memory above the 4GB 32bit line. Bad idea. Booting the VM with 3GB of memory slowed the entire system down. I mean really slow. Firefox and Entourage were almost unusable to the point that they wouldn’t respond to mouse clicks.
When I booted up the Windows Server 2008 virtual machine, the overall system performance ground nearly to a halt. That’s not good. The Windows Vista VM was set to 3GB and the Windows Server 2008 VM was set to 2GB. Clearly something was wrong. At the suggestion of one of our internal Mac enthusiast, I removed VMWare Fusion 1.1.3 and installed VMWare Fusion 2 Beta 1. No change in the results. So I’m thinking at this point there are still a number of variables to consider and we don’t yet know who the real culprit of the problem performance is. How do we remove a variable?
Parallels Desktop for the Mac
In order to remove one of the variables, the simplest solution seemed to be removing VMWare Fusion and installing and testing Parallels Desktop for the Mac 3.0. If by a stroke of luck Parallels worked flawlessly, then we would at least know there’s a bug in Fusion and it needs to be reported to the VMWare team.
Unfortunately it doesn’t look like Parallels is going to fair any better than Fusion. The maximum amount of memory you can allocate to a Windows Vista virtual machine is 2GB. I didn’t look to see if there was a hack to allow for more. I created a Windows Vista Ultimate x86 VM and allocated 2GB of memory. The install was fairly painless and execution of the VM after installing the Parallels Tools was pretty good. The overall OS X and system performance was no where near as bad as the Fusion experience.
But that was only one 2GB virtual machine and we need more. So I decided to create a Windows XP Pro x86 virtual machine. So far it’s been installing for about five hours. Now keep in mind nothing else is running on the system other than Parallels and this install. The Windows Vista virtual machine isn’t fired up and running yet. This isn’t looking good.
So where does this leave us?
Good question. I don’t have a good answer yet. When the XP install finishes, I’ll certainly run it and Windows Vista to see if they’ll behave and work correctly. If they don’t, the next thing I’ll do is pull the 8GB of RAM back out of the machine and reinstall the 4GB of memory to see if the virtual machines work properly (with smaller memory allocations). I don’t see much point in testing a 6GB configuration by mixing a 2GB SoDIMM with a 4GB SoDIMM. That is unlikely to solve the performance problem although it is probably an interesting configuration choice for a few of you.
Assuming by pulling the memory out of the box, things settle down and perform properly, then Apple, VMWare, Parallels and Kingston have some work to do. At that point it would not be apparent if the 4GB sticks are in fact faulty, or OS X needs a fix, or Fusion and/or Parallels need a fix. This would certainly be out of my hands for any further testing.
I’ll update this post tomorrow and as needed over the next few days to give you updates on my observations but I wanted to let you know things aren’t looking good at the moment. On the bright side, the 4GB sticks have performed absolutely flawlessly in my Lenovo ThinkPad T61p with Windows Vista Enterprise and Ultimate x64, Virtual PC 2007 SP1 x64, Virtual Server 2005 R2 SP1 x64, Windows Server 2008 Enterprise x64 and Hyper-V, and a whole boatload of applications.
It’s a shame I can’t say the same for the Mac. Hopefully Apple will come out with a “certified” sku or configuration soon. I have already informed Kingston and have requested an Apple SME if they have one.
[UPDATE for 7/10] As expected, Parallels ran slightly better but took a nose dive off the cliff when I started two virtual machines. I pulled the two 4GB sticks out and reinserted the two original 2GB sticks from Apple and everything ran MUCH better. At this point it looks like there is some sort of compatibility issue. I’ll let the makers of the products figure it out. Sorry, until they do you are better off running a good Windows machine with an x64 version of our OS if you need more than 4GB of memory. Sad but true. I tried.
[UPDATE for 7/11] I configured my Mac for bootcamp and installed Windows Vista Enterprise x64. I also installed Windows Server 2005 R2 SP1 x64 and ran three virtual machines with the 4GB of system memory configuration. No issues. That ran well. I shut things down gracefully and installed the two Kingston 4GB sticks bring the total system memory up to 8GB. The machine would barely boot Windows Vista and run. It is now apparent to me the memory sticks I have have some sort of incompatibility with the MacBook Pro I have. My testing of this has now concluded. It’s up to Kingston and Apple to resolve.
It would be interesting to know if the MacBook Pro with 8GB with just a Windows OS installed (i.e. no OS X) recognizes the entire 8GB properly...
What about a 2 GB VM in Fusion? Results?
Outside of VMs... can you load up multiple OSX apps to use more the 4 GB RAM?
Thanks.. nice experiment. :)
I'm going to setup bootcamp with Windows Vista x64 and see what happens.
Regarding a 2GB Fusion VM, I did that with Windows Server 2008. Again, poor performance all the way around. Sad.
You should probably try installing Windows Server 2008's Core install with Hyper-V and then you can run the various "native" OSes in partitions.
LOL. Yea, you first Marc! :)
Does your new iPhone 3G support 8GB of RAM? :)
I thought I saw Keith camping out in near his home in Dallas waiting to get one.
Nope, no iPhone for me just yet. I'm letting all of the Microsoft early adopters figure out all of the ins and outs.
If I get one, I'll likely just buy one without a plan. I already have a ATT plan and SIM.
I have no intention of locking into that phone for 2 years until I've had a chance to touch and feel the HTC Touch Diamond, HTC Touch Pro, Sony Xperia X1, etc. I'll probably make a decision in the fall on my next gadgets, as usual.
In response to Brian Henderson's question, the slowdown Keith observed seems related to an inability on the MacBook Pro to allocate beyond 4 GB. We purchased 8GB SODIMMs from Crucial with specs that matched the Kingston SODIMM's Keith got, and tried 8GB in a MacBook Pro 17" 2.6GHz ordered from Apple's web site, Build To Order (BTO), meaning it is likely we got the very latest firmware and motherboard revision. The "top" utility shows PhysMem at around 3.5 GB before we see the kind of slowdowns (across all applications) that Keith described.
It seems that OS X and the MacBook Pro will recognize the 8GB, but either the memory controller or the something like the page allocator wanders off into the weeds when we approach 4GB of actual memory allocations.
i know in linux if you have 8 Gb ram you must enable 64 Gb support from the kernel
maybe they didnt config there kernel yet xD
Dj, I too suspect a software-related issue, though I'm uncertain about whether some 64-bit toggle needs to be enabled, and I think hardware is possibly involved as well. Using the same SODIMM, but just one installed in the lower slot (the one closest to the keyboard), the MacBook Pro recognizes the 4GB just fine. Particularly interesting is how memory is allocated far less aggressively with the same set of applications loaded under 4GB versus 8GB.
I did eventually manage to push a set of applications to consume more than 4GB as reported by top in the PhysMem row, in the "used" label. But performance across the applications was abysmal. Think thrashing-to-disk-10X-slower-to-open-OpenOffice/Aqua performance. Also, even if I try to open only a couple of applications to stay under 4GB, more memory seems to be allocated (more code pages perhaps?) so that eventually the system slows down again.
This doesn't happen on Core Duo MacPro desktop systems, so that is why I suspect some hardware issue is also involved, but it would be ideal if just a patch to OS X would enable 8 GB access. I'm hoping that the rumored new generation MacBook Pros coming out later this year arrive with 8GB support.
how did the bootcamp with vista x64 setup go with your 8 gb of ram?
i am wanting to put 8gb in mine to run a ram hungry CAD program (in either xp or vista x64).
interested in your results before i try.
What of sticking this in the 2.4GHz or 2.8GHz Core Duo 2 iMacs that used PC5300 SODIMMs? Theoretically since that's a desktop Core Duo 2 it should be fine? Theoretically though.
I am wondering how your experiment with Bootcamp worked out? It would be great if that would work.
I've been playing with 6GB in my MBP: 1x G.Skill 4GB, and 1x Kingston 2GB. Works fine, and I've had XP booted in VMWare given 3GB, and Photoshop up in OS X with several 30000x30000 images open to use up RAM. Filled the full 6 up and the machine was still responsive.
Give 6GB a try and see what happens for you.
Haven't tried loading my BootCamp'd XP, but that will only be able to address 3 of such :)
Processes: 72 total, 3 running, 3 stuck, 66 sleeping... 276 threads 18:59:24
Load Avg: 0.83, 0.39, 0.25 CPU usage: 21.50% user, 22.43% sys, 56.07% idle
SharedLibs: num = 8, resident = 55M code, 124K data, 3924K linkedit.
MemRegions: num = 13341, resident = 445M + 24M private, 244M shared.
PhysMem: 741M wired, 3691M active, 668M inactive, 5105M used, 1039M free.
VM: 11G + 371M 1852481(0) pageins, 4840(0) pageouts
PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE
562 vmware-vmx 28.9% 0:19.64 9 160 1939 12M 10M 1311M+ 2131M
559 vmware 18.5% 0:39.39 6 278 729 54M- 34M 94M- 521M
159 Terminal 16.1% 0:09.30 3 104 146 2880K 18M 16M 367M
---- snip ----