Home » Questions » Computers [ Ask a new question ]

Why does my Mac OS X 10.6 kernel run in 32-bit mode?

Why does my Mac OS X 10.6 kernel run in 32-bit mode?

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

Asked by: Guest | Views: 386
Total answers/comments: 3
Guest [Entry]

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

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""."
Guest [Entry]

"According to what has been leaked to MacRumors (since the official documents are under NDA) (Source) only the following computers support running the 64-bit kernel:

Early 2008 Mac Pro (MacPro 3,1)
Early 2008 Xserve (Xserve 2,1)
MacBook Pros (15""/17"") (MacBookPro 4,1)
2008 iMacs (iMac 8,1)
Unibody MacBook Pros (MacBookPro 5,1 and 5,2)
Early 2009 Mac Pro (MacPro 4,1)
2009 iMacs (iMac 9,1)
Early 2009 Xserve (Xserve 3,1).

Only the XServes use the 64-bit kernel by default.

If you start up the computer holding the 6 and 4 keys you will start up the 64-bit kernel, or according to another source breaking their NDA you can edit /Library/Preferences/SystemConfiguration/com.apple.Boot.plist adding a kernel flag or do it in the nvram."
Guest [Entry]

"It's okay, here's why:

32 bit SL WILL run 64 bit apps; SL is 64 bit compatible regardless of which kernel version you boot

SL even if booted with the 32 bit kernel will still be able to run 64 bit apps and address more than 4GB of RAM

reason you'd need the 64 bit kernel is if the kernel needed to address more than 32 GB of RAM (hence it's default on the Xserve) or you have a 64 bit only kext (developers)

64 bit kernels do not make your computer magically faster; unless you need more than 32 GB of RAM (IOW only Xserves anyway) you do not need it for addressing reasons either

by making 32 bit default on consumer systems and giving pros and developers the 64 bit kernel option Apple is retaining max compatibility AND max flexibility

64 bit is mainly a developer option; they can use it to test their new 64 bit drivers/kexts to make sure they work with the 64 bit kernel

Paraphrased and quoted from Snow Leopard loads 32-bit kernel by default"