Force Snow Leopard to Use 64 Bit Kernel

Sep 10, 2009 - 21 Comments

Mac OS X Snow Leopard

By default, Mac OS X Snow Leopard boots using a 32 bit kernel. But did you know you can switch between the 64-bit kernel and 32-bit kernel upon boot?

This should be useful to advanced users who may need to perform such a feet, though the average Mac use likely has no business forcing one kernel to load over another.

So, let’s cover how to do it:

You can force Snow Leopard 10.6 to use the 64 bit kernel by holding down the “6” and “4” keys during system boot.

Likewise, you can switch back to the 32 bit kernel by holding down “3” and “2” during system boot.

It may be stating the obvious, but the 64 bit kernel will not work on a machine that is not 64 bit.

You can verify the 64 bit kernel by typing the following at the Terminal:

uname -a

Then look for the 64-bit or 32-bit indicators.


Note: some users suggest this only works in the Mac OS X Server edition, though I am unable to test this specifically. Share your experiences in the comments.


Related articles:

Posted by: Bill Ellis in Mac OS


» Comments RSS Feed

  1. Mike says:

    Hi, I have a late 2009 iMac, 12 GB ram , 3.06Ghz cpu , 9400M GPU.
    Booted with 32bit kernel , and the results are :

    Lightroom export 50 RAW files 5:06 sec
    Photoshop filter: 00:12 sec
    Photoshop surface blur: 26 sec

    in 64-bit kernel result are :

    Lightroom export 50 (same files) 5:16 sec
    Photoshop filter (same filter same file) 00:16 sec
    Photoshop surface blur: 28 sec ..

    how do you explain that ?

  2. […] nie widze jej w watku… Dziekuje za wklad, bede sledzil watek! Pozdrawiam, Cyrylski Force Snow Leopard to Use 64 Bit Kernel Z prze┼é─ůczaniem aplikacji jest jeszcze pro┼Ťciej […]

  3. Alex says:

    I use the plist editor with the dev tools, backed up the old one, altered it and put replaced the old one. I used the method noted by MKF for to change the, it was the only method that worked for me on my MBP 5,5

  4. Stuart says:

    So what’s the whole hype with using 64-bit anyways? I heard something about how Safari 4 in 64-bit executes JavaScript 50 times faster. 64-bit sounds nice if you have more than 4GB of RAM other than that what’s with using all this powerful computing power?

  5. Brandon says:

    Your computer will only support 64bit booting if your processor does. Core Duos are NOT 64-bit compatible, but Core 2 Duos are. Xeons are, as well. That’s why some of you cannot boot in 64bit mode.

  6. Aaron says:

    my dual action logitech game pad didnt work right under the 64bit kernel. So I rebooted back to 32. Works fine. I dont seem to notice anything different under 64bit kernel mode.

  7. MKF says:

    My Mac Pro (8 Core Xeon) did not boot in to 64 bit mode and I need to edit file;


    …and change last string. Like below.

    Kernel Flags

    Now my Mac runs in 64 bit mode and all benchmark programs give 1.2-1.5x better scores.

    Sadly, I need to switch back to 32 bit mode, bcs VMWare Fusion is not yet 64 bit. But it will (27-oct-2009 comes out 64 bit VMWare Fusion. Great!).

    • What version of VMWare Fusion was this?

      I currently have FUsion 3.1.3 and I’m trying to Beta Lion Server as a client of Fusion and I’m wondering if this is possible because the “app” VMWare Fusion appears to be 32 bit…..but I can’t tell at what level of the software stack I need 64 bit to upgrade a Snow Leopard Server VM to a Lion VM.

  8. arce says:

    i got this;
    uname -a
    Darwin xarcex 10.0.0 Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 2009; root:xnu-1456.1.25~1/RELEASE_I386 i386

    so what’s my kernel?

  9. Bruno says:

    To change mode 32 to 64 bits on snowleopard client, you’ve to do that: Write sudo nvram boot-args=”arch=x86_64″ on console.
    After reboot, for checking that: write uname -a on console against and you are showing: Darwin macbook_pro.home 10.0.0 Darwin Kernel Version 10.0.0: Fri Jul 31 22:46:25 PDT 2009; root:xnu-1456.1.25~1/RELEASE_X86_64 x86_64.
    Now, you use the Kernel Boot x64.

  10. Justin says:

    I’ve got the ’08 MacBook 2.4 (MacBook5,1)
    And with the quick hack provided by I’m up and running with the 64 bit kernel.

    Although it doesn’t really buy me anything it’s neat nonetheless :)

  11. DistortedLoop says:

    @Nigel – “The initial startup into 64 bit is slow, but afterwards itÔÇÖs great.”

    Just curious, what’s great about it? Does the system run faster? Have you benchmarked it (timed apps opening in 32 vs 64 bit mode), or do you just “feel” it’s great? Is it more stable? Fewer beach balls? What?


  12. Greg says:

    You can enter a line in Terminal that will make it always boot up into 64 bit:
    sudo nvram boot-args=”arch=x86_64″
    sets it to always boot 64 bit.

    You should be able to reset things as follows:
    sudo nvram boot-args=””

  13. Bob says:

    I’m with Nigel, have a MBP (4,1). 64-bit works great. However, you have to hold the 6&4 every bootup as the system defaults back to 32 with each reboot. A quick google search fixed that though. Using the 64-bit version of VBox for my VMs.

  14. Nigel says:

    64 bit works fine on my MBP (5,1) Forcing it into 64 bit by pressing 6 and 4 works perfectly. The initial startup into 64 bit is slow, but afterwards it’s great.

  15. AG says:

    Bill: ditto.
    I’ve got a MacBookPro3,1 with 64 bit EFI stuff and a fresh new copy (not an upgrade) of SnowLeopard. By all accounts the box should jump into a 64bit with the key combo described above…no dice.

    It’s a bit echo chamber-y to see this same suggestion bantered about absolutely everywhere when it only works for the server edition.

    • Howard says:

      AG, you are wrong. I am typing this on a MacBook Pro and it is running 64-bit, as invoked with the 6,4 keys and as confirmed by checking “about this Mac”.

  16. Bill says:

    This won’t work – Apple clearly say only the server edition will boot into 64 bit mode. I’ve tried it, it doesn’t work.

  17. James says:

    There is little need to run the 64bit kernel unless you have 96GB’s or more of RAM. OS X is not the same as Windows where you have to run 64bit all or nothing. Vista/Win7 run 32bit apps under 64bit OS via emulation. For those things that simply won’t run, Win7 offers a virtual machine running WinXP with IE 6. 64bit Windows (Vista/Win7) will also have difficulty with hardware drivers as they all must be 64bit. OS X is fully capable of booting the kernel in 32bit and running 64bit applications. The design and architecture is totally different and far superior to Vista/Win7. The kernel is radically different in design and therefore, it makes little difference booting in 32bit mode which will ensure backwards compatible hardware will still function. Again, the only time you need a 64bit kernel is to address RAM greater then 96GB’s.

    The 64bit kernel is only enabled on XServe hardware at the moment because many of OS X’s third party extensions (hardware drivers) are not 64bit. You could have problems with scanners, printers, mice, etc. that all hook directly into the kernel. In a rack mounted server, these devices are simply not used as the server is remotely managed.

    You will notice no performance difference unless you are running a whopping big server with gobs of RAM. Future hardware with tons of RAM and tons of CPU’s will likely boot into 64bit by default once all the hardware manufacturers catchup and go 64bit.

  18. Kirt says:

    You probably don’t want to force the mode your mac isn’t already running.

    Considering the 32-bit kernel can (and will) happily load up all the 64-bit goodies whenever possible, you don’t really NEED to be in 64-bit.

    Additionally, when in 64-bit, all your legacy 32-bit stuff might not work right… especially devices that only have 32-bit drivers. The backwards compatibility is not as straightforward as some people think.

Leave a Reply


Shop on and help support OSXDaily!

Subscribe to OSXDaily

Subscribe to RSS Subscribe to Twitter Feed Follow on Facebook Subscribe to eMail Updates

Tips & Tricks


iPhone / iPad



Shop on Amazon to help support this site