Switching between 32 bit and 64 bit mode in Snow Leopard
Out of the box Snow Leopard defaults to running in 32 bit mode. This is so the drivers for things like printers, scanners, network cards, etc. that have not been ported to 64 bit can run. Applications are unaffected by this. A 64 bit app will run in 32 bit mode and vice versa. If you’re not sure what mode your machine is running Snow Leopard in check out this article at MacObserver on how to tell.
The average user is much better off staying with the 32 bit mode for compatibility and ease of use. However, there may be times, especially for those running scientific software, when you need to run in 64 bit mode. And some servers, as mentioned in this Knowledge Base article do boot directly into 64 bit mode and may need to be set back.
You can choose to hold down the “6” and “4” keys on startup to boot into 64 bit mode. This will boot you into 64 bit for that boot cycle. When you reboot you will fall back to 32 bit again. Likewise, holding down the “3” and “2” keys on boot will put you into 32 bit mode.
If you want to change the mode and make it stick you need to do it at the command line. Fortunately Apple has added a command in the systemsetup
tool for just that.
To check which mode you’re currently in run this command in Terminal:
systemsetup -getkernelbootarchitecturesetting
To set your machine to boot into 64 bit mode enter this command and reboot:
sudo systemsetup -setkernelbootarchitecture x86_64
To set your machine to boot into 32 bit mode enter this command and reboot:
sudo systemsetup -setkernelbootarchitecture i386
One oddity I’ve found so far is that on some machines that were upgraded from Leopard to Snow Leopard this command doesn’t appear in systemsetup. Do a man systemsetup
before running it to make sure you have the Snow Leopard version of systemsetup
webmaster :: Sep.03.2009 :: Management, System, Terminal :: 15 Comments »
15 Responses to “Switching between 32 bit and 64 bit mode in Snow Leopard”
Worked like a charm the very first time — no fuss, no muss. Thanks very much. I tried the other methods of mucking around to get Snow Leopard to permanently boot in 64-bit mode, and they are all rife with problems to execute. This was a simple copy and paste into my Terminal program and re-booting my Mac, and now I’m in 64 with no problems. Thanks again.
[…] via Mac Stuff » Switching between 32 bit and 64 bit mode in Snow Leopard. […]
what does it mean to reboot? how do you reboot? like what exactly do you do after putting in the new info in the command line?
Reboot simply means restart the computer. You do that by either choosing “Restart” from the Apple menu in the GUI or type “sudo shutdown -r now” in Terminal after you enter the command to switch modes.
Excellent!!!! Thanks a ton. For me the other way worked. i.e. by default my mac boots into 64 mode, and VPN was not working. When I changed it to 32 bit by the command you mentioned and rebooted, VPN worked like a charm.
Thanks a ton again!!!
BTW, is there a way to make it boot in 32 bit mode permanently?
To boot into 32bit permanently you want to run
sudo systemsetup -setkernelbootarchitecture i386
also to check which mode you’re running after bootup
#uname -m
i386 for 32bit
and
x86_64 for 64bit
but what if it doesnt boot into 32 bit kernel?
here i have this problem with snow leopard. i cant switch it to 32 bit kernel. 32 bit BOOT kernel or boot mode works, yes. bot not the “overall” or “global” 32 bit kernel.
it keeps telling me “64 bit kernel and extensions: yes”.
whats the point??? i tried about EVERYTHING…. 🙁
So, I don’t have snow leopard version of the terminal on my machine for some reason. I bought the machine new with snow leopard on it. I don’t have the command -getkernalbootarchitecturesetting in systemsetup. Now what do I do?
[…] http://macstuff.beachdogs.org/blog/?p=134 […]
Whenever I try to use terminal & the sudo command to change to 64 bit, the usual result is for it to give a warning & demand a password. However, the screen will not accept a password. When I try to type the password, nothing appears on the screen. It is as if I were not typing.
Under System Preferences, under Accounts, Login Options, Network Account Server, Join, Open Utility Directory Utility; I unlocked the lock and entered the password, Then I checked the “Active Directory” which was not checked. Now I have Active Directory & LDAPv3 checked; “BSD Flat File and NIS,” and “Local” are also checked, but greyed out — I can’t ungrey them.
After jumping through all those hoops; I stil can’t get the sudo command to work. The same nothing happens when I try to type in a password.
I have this dislike for some of these Apple problems.
I finally got 64 bit to work by shutting down & restarting. Then holding down the 6 & 4 keys (long, long time) on start up — but only if I use the MacBook Keyboard; this does not work with my RF UBS keyboard.
I wish there were some way to switch back & forth between 32 & 64 bit without rebooting the computer. I did this change because my SnowLeopard computer is frequently freezing after I upgraded the RAM, & a website recommended changing to 64 bit to stop this.
In Terminal the password doesn’t ever show. It’s a security feature of UNIX. So, when you type your password it will look as if nothing happens. Enter it anyway and hit return and the command should work.
i dont know if my computer will work in 64bit or not. i have been reading a lot online an nothing has given me a good answer to if it does or not and all that i have seen is that the computer should do both. i am a photographer and i just want to run lightroom 4 which will not run on my computer now because it is stuck in 32bit. i did the hold 6 and 4 key that did not work. i ran that command in the terminal and it said saved as if it worked but when i checked it said it said NO under the 64-bit Kernel and Extensions. i also tried restarting is with the command under terminal. please help i will do anything to get lightroom 4 to run on this computer without having to get a new computer. thank you
but also when i run systemsetup -getkernelbootarchitecturesetting in the terminal it says set to x86_64 which would mean its running 64bit but still under 64-bit Kernel and Extensions it says NO
I am running a 1.83 Macbook Intel Core Duo. I am not sure, but I believe that this is a 32 bit machine, and I cannot run 64 bit programs. Is there an emulator so that I can run 64 bit applications on my machine? I am running OS X 10.6.8. I can’t seem to upgrade any farther.