Macos – Why does the Mac OS X 10.6 kernel run in 32-bit mode

64-bitkernelmacmacososx-snow-leopard

I have a MacBook Pro (5,1) with 4GB of memory running 10A432 – but it's running the 32-bit kernel.

Any ideas why it wouldn't be running in 64-bit mode, and how I can get it to do so?

Best Answer

In Jon Siracusa's Review of Snow Leopard he discusses the 64-bit transition.

Tiger Leopard Snow Leopard

The short version is: because there's no 'mixed-mode' a 64-bit kernel requires 64-bit Kernel Extensions and Drivers.

As those aren't widely available yet, Apple chose to default to 32-bit to avoid breaking lots of things.

Instructions from the article:

For all K64-capable Macs, boot while holding down "6" and "4" keys simultaneously to select the 64-bit kernel. For a more permanent solution, use the nvram command to add arch=x86_64 to your boot-args string, or edit the file /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and add arch=x86_64 to the Kernel Flags string:

...
    <key>Kernel</key>
    <string>mach_kernel</string>
    <key>Kernel Flags</key>
    <string>arch=x86_64</string>
...

To switch back to the 32-bit kernel, hold down the "3" and "2" keys during boot, or use one of the techniques above, replacing "x86_64" with "i386".

Related Question