Snow Leopard 32bit vs 64bit - FAQ

macrumors G5

Mac OS X 10.6 Snow Leopard (SL) introduces 32 bit and 64 bit kernel, processes, and applications to the end user. But what does it mean and does it affect you? Here are answers to some frequently asked questions.

Note that OS X 10.4 and 10.5 also have 64-bit support for part of the system. (Did you know PowerMac G5 introduced in 2003, with 32bit Mac OS, can access more than 4GB of RAM? Mac OS isn't limited as much with 32bit 64bit issues as windows.)

A. You don't HAVE to know about 64 bit. For most users of OS X, it won't matter.

The Application delivery mechanism for future OSX Snow Leopard apps will still be Universal Binary, which will include BOTH 32bit and 64bit code if available.

The default SL kernel is 32 bit which is more compatible. Note that the Snow Leopard 32 bit kernel can still run 64 bit processes that allows access to more memory, useful for some power users.

The only reason you have to know about 32bit or 64bit is if you are running windows.

With Windows there is a 4GB total memory limit with 32 bit windows. Mac OS is different. Even Macs running Leopard can contain and use far more RAM than the 4 GB limit the "32-bit" qualifier might seem to imply.

Yes, 64-bit kernel (K64) allows use of a very large number of RAM, 16 exabytes to be exactly, but do you have any apps that need more than a few GB of RAM?

With Windows you need to download a different version of the app / program / driver for different version of windows os. On Mac OS, you download 1 Universal Binary which will work on all 32bit and 64bit (if available) installs for that Mac OS.

Yes you are suppose to get higher benchmarks on certain artificial test for running K64, but in daily use you won't notice a difference for almost most users do on Mac OS X.

2. Why isn't my Mac booting a 64 bit kernel.

A. The default behavior of Mac OS X 10.6 Snow Leopard client is to boot into the 32 bit kernel. Servers on the right hardware defaults to K64.

Booting into 32 bit kernel for OS X client is to ensure maximum compatibility. Until every single app and driver are updated to 64 bit, most people should run the 32 bit kernel, as many older apps / drivers are 32 bit.

The Snow Leopard 32 bit kernel can create 32bit and 64 bit processes. Even 32 bit Mac OS can use high amount of system RAM, and allocate more RAM than 32 bit windows. So with Snow Leopard, you have compatibility of 32 bit kernel and performance of 64 bit processes.

Windows 32 bit is severely limited. 32 bit windows cannot do anything with 64bit and its RAM allocation is restricted. Note even for gamers who would benefit the most with 64bit windows, only about 30% of the high end windows market is running full 64bit.

Windows NEED full 64bit because the 32bit windows is very limited. Mac OS X is different, with 32bit kernel capable of launching 64bit processes.

3. How do I boot a 64 bit kernel under Snow Leopard.

A. Read 2. If you are absolutely certain you do not have 32 bit apps / drivers and you are not going to run 32 bit apps, you can boot into 64 bit kernel by holding the 6 and 4 key while you turn on your Mac.

Of course, you can edit a file to set OS X to boot into 64bit automatically. But in that case you probably don't need a FAQ, as you would have already read the 23 page detailed technical review of SL.

4. Why aren't all my applications 64 bit.

A. Developing apps take time.

Note that OS X Snow Leopard is set up to be 64 bit development friendly. It's likely that developer for your app is working on updating for 64 bit. It's just a matter of how long the development cycles are.

Cocao apps need to be revised and tested to take full advantage of 64bit architecture.

Old Carbon apps need to be rewritten for 64bit. Including most Adobe, Microsoft apps.
Some Apple apps are 64bit but Apple apps such as iTunes and Final Cut are still Carbon and 32bit.
Those will take more time. Note Apple has tried to push developers away from Carbon for quite a few years.

5. How come my Mac crashes when running the 64 bit kernel.

A. See #2. If your Mac is crashing in 64-bit only mode you probably have some 32 bit drivers. Switch back to 32 bit kernel. And wait for your apps / drivers to be updated by their developers. You might also want to wait for future Snow Leopard updates before attempting again.

macrumors regular

What's the benefit of booting into the 64 bit kernel, then? After reading this I now understand why people were talking about booting into 64, but also after reading this, all apps run in each mode so... what's the deal about wanting to boot into a 64 bit kernel?

I booted into it a bit earlier and played around. I didn't notice much of anything (as the writing says I wouldn't). I did notice my computer idled around 63 when it typically idled at 45 or so.

macrumors demi-god

If you're working with very large amounts of installed RAM (32GB or more), a 64-bit kernel helps improve memory performance. For the much more modest amounts of RAM found in MBs, MBPs and iMacs, it really doesn't make any really noticeable performance difference.

I can't find it, but one website did a technical review of OS X 10.6 and they explained how, with large amounts (32GB+) of installed memory, the 64-bit kernel would be more advantageous.

thread startermacrumors G5

What's the benefit of booting into the 64 bit kernel, then? After reading this I now understand why people were talking about booting into 64, but also after reading this, all apps run in each mode so... what's the deal about wanting to boot into a 64 bit kernel?

I booted into it a bit earlier and played around. I didn't notice much of anything (as the writing says I wouldn't). I did notice my computer idled around 63 when it typically idled at 45 or so.

macrumors 6502

While there are SOME certain performance advantages to running the 64 bit kernel, the 2 biggest reasons to do so are:

1) the KERNEL and KExts (drivers mostly) can access more than 4 GB RAM. (Honestly though, unless you have a TON of kexts, this shouldn't be a problem right now.)

2) to push developers to start moving their code to the 64 bit kernel (since it is the future.)

HOWEVER, for 99.9% of users out there, there's no need to move to the 64 bit kernel, and in fact, most machines from 2007 and earlier can't (no kext support for their hardware.)

Realize though, you're not really losing anything. You still can run all the same software you could before, you're not losing out on more than a few % points of performance, etc.

Also, please remember that this is the first release of the 64 bit Kernel. If your machine isn't currently supported, hang in there, you never know, Apple might release more support in point releases.

Oh, and one other clarification - any Carbon based applications are having to be totally rewritten to use Cocoa in order to become 64 bit as there is no 64 bit Carbon (and never will be.) If they choose not to do so, then you'll be stuck with 32 bit versions (at least until Apple totally removes Carbon support, but I doubt that'll happen anytime soon.)

macrumors newbie

Thanks for this post. It is a good basic overview of 32 vs 64-bit for average users.

However, I am still curious; if all this is true and the only advantages are for power users and huge amounts of RAM, then why is it that my MacBook Pro w/ 2GB RAM runs smoothly, without a hiccup in 64-bit (despite 32-bit apps). Yet my MBP (and numerous users') runs like crap in 32-bit mode?

I can't seem to find an answer anywhere. And its really buggin me, lol. I do understand why apple would boot natively in 32-bit; for backward support. But I don't see why people are being encouraged to stay in 32-bit mode when its running so crappy for so many users.... Any thoughts?

thread startermacrumors G5

Thanks for this post. It is a good basic overview of 32 vs 64-bit for average users.

However, I am still curious; if all this is true and the only advantages are for power users and huge amounts of RAM, then why is it that my MacBook Pro w/ 2GB RAM runs smoothly, without a hiccup in 64-bit (despite 32-bit apps). Yet my MBP (and numerous users') runs like crap in 32-bit mode?

I can't seem to find an answer anywhere. And its really buggin me, lol. I do understand why apple would boot natively in 32-bit; for backward support. But I don't see why people are being encouraged to stay in 32-bit mode when its running so crappy for so many users.... Any thoughts?

YES! lets push into the future!

Click to expand...

Perhaps submit feedback on your case?

Yes, Snow Leopard development tools and a lot of the new technology pushes developers toward 64 bit.

I think when a good number of apps are fully 64 bit then Apple would probably turn on automatic 64 bit mode.

macrumors regular

I turn most of my software to 32bits in order to work with multiclutch
I seriously did not notice any difference using it in 64bits it's not like any of my software will need ram more than 4g and also my macbook pro max is just 8g.

what I'm wondering, is there any security improvement in 64bits like how apple state it in safari 4 with 64bits?

macrumors P6

Please can we stop this now, most people reading these articles are getting soooo confused by everyone throwing around the words 64-bit and 32-bit.

It works like this, Snow Leopard is a 64-bit OS, and almost all of its applications are 64-bit, and almost if not all of its frameworks for developers to tap into are 64-bit. There is a part of the operating system called a kernel, it can run in either 32-bit mode or 64-bit mode. There is a lot of code that taps into the kernel for low level device functions, these bits of code are called kernel extensions or kexts, they are written both by Apple and by third parties. 32-bit kexts do not play well with a 64-bit kernel, and as almost all kexts are 32-bit because pre Snow Leopard the kernel was 32-bit, this would cause a huge amount of headache to end users to default to a 64-bit kernel. and most kexts will not see a performance improvement by running in a 64-bit mode.

What are the advantages of running a 64-bit kernel?
The way Mac OS X is designed to take advantage of more then 4GB memory pre 64-bit, causes it to swap address for memory above the 4GB barrier, which in turn makes each memory operation slightly slower. If you have more then 4GB of memory in your computer, running a 64-bit kernel will speed up memory read/write some, but will cause more compatibility issues with kexts. Thats it. If you have less then 4GB of memory a 64-bit kernel will have no advantage what so ever, and above that you will see some performance improvement when more then 4GB of memory is consistently being used. Obviously as no mac ships with more then 4GB of memory by default, and only more recent macs (excluding xserves and Mac Pros) can even accept more then 4GB of memory, and as it will take third parties some time to write 64-bit kexts, it makes absolutely 100% sense to default to a 32-bit kernel at this point.

macrumors member

I seem to remember when I converted a linux machine to 64bit many years ago, there was a noticeable speed increase for applications recompiled for 64bit along with a certain gcc switch (in addition to -march) (forget what it was.) The best explanation I was able to find at that time was that the CPU, in 64bit mode, had access to several more registers.

I see no reason why that wouldn't be the case for the OSX kernel as well, and if true would mean that applications that make heavy use of kernel (and kernel extension) services in osx would see a performance boost when running against a 64-bit kernel with 64bit kexts as opposed to a 32-bit kernel.

thread startermacrumors G5

I seem to remember when I converted a linux machine to 64bit many years ago, there was a noticeable speed increase for applications recompiled for 64bit along with a certain gcc switch (in addition to -march) (forget what it was.) The best explanation I was able to find at that time was that the CPU, in 64bit mode, had access to several more registers.

I see no reason why that wouldn't be the case for the OSX kernel as well, and if true would mean that applications that make heavy use of kernel (and kernel extension) services in osx would see a performance boost when running against a 64-bit kernel with 64bit kexts as opposed to a 32-bit kernel.

Click to expand...

OSX is hybrid 32 bit 64 bit system even under 32 bit mode. The other OS 32 bit mode is just the limited 32 bit mode.

Yes certain types of apps will see performance benefits under 64 bit only (K64), but for most users it doesn't matter at this time.

MacRumors attracts a broad audience
of both consumers and professionals interested in
the latest technologies and products. We also boast an active community focused on
purchasing decisions and technical aspects of the iPhone, iPod, iPad, and Mac platforms.