I followed this article... http://support.apple.com/kb/HT3696 and found that

Processor name: IntelCore i7 

meaning it is 64 bit.

However, when I do "uname -a" in terminal the result seem to be contradictory.

MYMACHINE:~ himalay$ uname -a
Darwin MYMACHINE 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386

Also thru perl its the same..

MYMACHINE:~ himalay$ perl -V:myarchname

i386 is 32bit as far as I know. Can someone clarify on this. Thank you.

  • You can still build a perl with 64-bit integer supportby using -Duse64bits or something like it. Check the INSTALL file for the exact spelling.
    – ikegami
    Jul 24, 2012 at 18:55
  • What version of OS X?
    – MetaGuru
    Jul 24, 2012 at 19:34

4 Answers 4


In short, modern versions of OS X are capable of running 32 and 64 bit executables (apps, command line tools, etc). These executables may be distributed as 'fat' executables which contain the executable to run as a 32 or 64 bit process. OS X offers a duality in this regard, where other OSs are more strict about the binaries they run, load, and build.

In OS X, you can have a Intel processor which is 64 bit compatible. Your kernel could run in 32 or 64 bit, and your programs could run in 32 or 64 bit. It depends on your configuration and how the programs/extensions/libraries have been built.

Basically, your confusion comes from the difference between hardware capabilities and the mode of the software you are running which you query. Your processor/hardware is capable of running 64 bit executables, but you have queried the state of an active 32 bit process.

  • Can I conclude that in my OSX, mode of kernel is 32bit, cpu is 64bit and it can run both 32/64 bit binaries/executables? Also, since OSX support both 32 and 64 bit binaries, meaning it doesn't matter if I am having a 32bit or 64bit kernel? Lastly, can I switch OSX kernel from 32bit to 64bit, is there any advantage doing that? Thank you!
    – Himalay
    Jul 25, 2012 at 14:34
  • 1) not really. it depends on how it's built/configured (the version you are running, if you have not changed it) and whether the hw supports 64 bit. you are running snow leopard (10.6). the current public version is 12.0 (10.8.0). in 10.6, you could enable 64 bit kernel by a unsupported mod (which i had no problems with, although some kernel extensions may not exist for the hw you have). 2) i'd recommend sticking with the config supported by the os -- do you have a very good reason to change that config? (cont)
    – justin
    Jul 25, 2012 at 21:05
  • 3) see answer#2. sure, there are advantages -- but there are also disadvantages. it configures itself well for typical uses and for supported hardware. do you need to change the default? why? the primary disadvantage in older systems is that 64 bit kernel extensions may not exist for the hardware you use. if they do exist, they may not be well tested or well supported (if you use the approach i mentioned). if you want to use a 64 bit kernel, the Apple supported (cont)
    – justin
    Jul 25, 2012 at 21:06
  • (cont) way is to use a more modern version of the OS. your hw supports this, and you can upgrade to 10.8. see also bahamat's comments (in other answers).
    – justin
    Jul 25, 2012 at 21:06
  • 1
    1a) yes. 1b) i7 is 64 2) well, the kernel could be faster, consume more resources, or assume that it can consume more when 64 bit. it could be faster, however. it depends on what it needs to do. but that's the kernel. an app in 64 bit mode can still take advantage of 64 bit architectures, if run as 64 bit (without altering the kernel).
    – justin
    Jul 26, 2012 at 20:26

OS X, even 64 bit versions, boot with a 32 bit kernel by default; you have to explicitly switch to a 64 bit kernel.

See: Running OS X 10.6 in 64-bit mode

  • 1
    This was only true for a transitionary period. Some Macs (even during SL) would ship with 64-bit kernels by default. As of 10.7 (Lion) all Macs ship with 64-bit kernels enabled by default.
    – bahamat
    Jul 24, 2012 at 21:12

You have a computer with a 64bit processor, but you are running a 32bit operating system, so you should install 32bit software, or reinstall a 64bit operating system, then you will be able to use 64bit software.

  • 2
    OS X is both 32- and 64-bit as needed. A reinstall will not help, as there's no difference between a "32-bit" and "64-bit" version of the OS.
    – Cajunluke
    Jul 24, 2012 at 20:36
  • 2
    Newer Macs will run 64-bit kernels. During the transition from 32 to 64-bit they often ran 32-bit kernels with everything else being 64-bit. Any Mac running 10.6 (Snow Leopard) or newer with a 64-bit capable processor can run 64-bit binaries just fine, regardless of the kernel.
    – bahamat
    Jul 24, 2012 at 21:10
  • This is an incorrect answer or at the very best an incomplete answer. Justin's answer is much better.
    – Ramhound
    Jul 24, 2012 at 22:05

look under apple-->about this mac

uname gives you info about the KERNEL you are running, not neccicarily the underlying hardware (amd64, aka 64-bit hardware supports IA32, aka 32-bit kernels)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.