Snow Leopard 64bit kernel mode and VMWare Fusion.


Looking around on the internet I discovered that by default Snow Leopard boots into 32bit kernel mode (I wondered why I wasn’t getting any incompatibility issues) and to force OSX to boot into 64 bit kernel mode you need to hold down the 6 & 4 keys on startup.

I tried this out and it worked I confirmed this by going to System Profiler and checking whether 64 bit kernel mode extensions were loaded.

I thought cool maybe 8GB RAM will work now I have booted into 64bit mode but I wanted to try out all my critical applications first because theres no point having 8GB RAM if I can’t run any of my programs.  One of my most critical applications is VMWare Fusion which threw the following error message when I tried to open it.

Screen shot 2009-08-31 at 09.47.59

Looks like VMWare doen’t support 64bit OS X yet so I won’t bother trying out the extra 4GB module yet as there is no point if I can’t run VMWare.

8 thoughts on “Snow Leopard 64bit kernel mode and VMWare Fusion.

  1. Pingback: Snow Leopard 64bit kernel mode and VMWare Fusion. | Online - Online.com.pt

  2. Pingback: Snow Leopard 64bit kernel mode and VMWare Fusion. | Online - Online.com.pt

  3. Just because the kernel is not in 64bit mode doesn’t mean programs can’t be in 64bit mode.

    The kernel’s memory map (in supervisor mode) is totally different than user mode memory map. Each 64bit program can have its own (insanely large) 64bit memory space, using all of your 8gig of RAM and then some, with the difference being made up in virtual memory.

    The key is that the kernel can’t address any memory object outside of the 2/4 gig limit. The kernel uses a decent amount of memory (esp. for networking and disk/virtual memory buffering) but it doesn’t need that 8gig. 64bit kernels and that mambo amount of memory is going to make a big difference on servers obviously.

    An important point about virtual memory: on all modern virtual memory implementations with the exception of windowsXXX, every single free block (4kb) of memory out there is by defacto a disk buffer.

    That’s kinda deep if you think about it.

    The reason is that with modern virtual memory implementations disk I/O is performed through the virtual memory system and vice-versa. When a program is started (on classic *NIX through fork/exec()) the way the program gets “loaded” is an awesome kludge: the blocks of the actual text part of the program are mapped from disk to memory, and, (this is the cool kludge part) the kernel then transitions back to user mode with a synthetic stack that includes an execution point on the first 4 bytes of the first 4kb memory page…

    …which is not there yet.

    A virtual memory fault occurs, the kernel catches the interrupt, figures out what is supposed to happen (read in some blocks from disk) and schedules it, and goes on to the next program.

    Its all a big shell game… but rest assured, your entire 8gig is being used, all the time, to the limit.

    Test: Prove your memory is a huge disk buffer:
    – open terminal window
    – cd /usr
    – time find . -type f -print | cpio -o > /dev/null

    On my MBP17 2.5GHz I got 1:36 the first time, and 11secs the 2nd time. To a lay person, this is a great test. The reason its amazing is that in the old skool days, kernel disk buffers were a configurable, and no matter how you had it set, it was wrong.

    Don’t believe the 64bit kernel hype. It has no effect on average folk.

  4. I consider myself pretty much an average folk. But when I turn on 64 bit kernel on my MBP 13″ 2009, things start flying real fast; boot up, app launches. VirtualBox works with 64 bit kernel, BTW. Don’t get me started on things they said an average folk didn’t need.

  5. What I found amazing about VMware’s announcement on Fusion was they were proud to announce “experimental support” for the 32 bit kernel on Snow Leopard. I had to reread it several times, because I was going what?!? It should say “experimental support for the 64 bit kernel”, because we have been using the 32 bit kernel.

    Anyhow, all this to make the point is that VMware isn’t going to support the 64bit kernel at least for the short term. This surprised me a lot with all the hype about SL paving the way forward. Yes, I know that 64 bit apps will take advantage of SL now, but I was surprised VMware Fusion was not one of those 64 bit apps!

  6. I’m having no issues with snow leopard running 64bit Kernel and VMWare Fusion 3.0. .. You can also , using terminal, type the following to change the default kernel to 64bit rather than holding down keys ..
    sudo nvram boot-args=”arch=x86_64″
    and to reset
    sudo nvram boot-args=”″

Leave a comment