Как проверить, является ли мой Mac на базе Intel 32-битным или 64-битным

52

Я хочу установить новое программное обеспечение с этими двумя версиями, и мне нужно знать, какое из них установить.

Как я могу определить 32- или 64-битные возможности моего Mac?

iddober
источник
Какую версию ОС вы используете? Когда был построен ваш MacBook Pro?
Даниил
5
Это довольно просто. Перейдите к логотипу Apple и выберите «Об этом Mac». Если это говорит Core Duo, то это 32 бита. Если он говорит Core 2 Duo, то он 64-битный (игнорируйте проблему с 32-битным ядром, он будет нормально работать с 64-битным программным обеспечением). Физически, если у вашего MBP черная клавиатура, она абсолютно 64-битная. Оригинальные MBP имели серебряную клавиатуру, и 32-битные устройства были почти полностью заменены в начале 2007 года. Так что, если вы приобрели свою модель даже в более позднем курсе 2007 года, то это Mac, способный работать на 64-битной версии. Кроме того, если вы работаете с Lion, то вы используете 64-битную версию (поскольку Lion не работает на 32-битных компьютерах Mac).

Ответы:

20

Чтобы узнать, используете ли вы 32-разрядное или 64-разрядное ядро ​​(что имеет значение для некоторых драйверов устройств), запустите System Profiler и щелкните заголовок « Программное обеспечение» в разделе « Содержимое ».

В строке 64-bit Kernel and Extensions будет указано Yes, если вы используете 64-битное ядро, и No, если вы используете 32-битное ядро.

Примечание. Mac OS X 10.6 Snow Leopard - это последний выпуск, который может работать с 32-разрядным процессором Intel Mac, Mac OS X 10.7 Lion и выше по умолчанию являются 64-разрядными. Кроме того, System Profiler был переименован в System Information в OS X 10.7.

Поль Лефевр
источник
3
Системный профилировщик не установлен на моей машине - или Spotlight не может его найти - поэтому этот ответ не будет работать для всех.
Крис Кало
Какая у вас машина и ОС? Название было изменено на «Информация о системе» некоторое время назад (оно находится в папке «Утилиты»).
Поль Лефевр
5
Я нашел приложение Информация о системе. Благодарю. Было бы хорошо, чтобы обновить ответ в интересах других. К сожалению, я не смог найти пункт «64-битное ядро ​​и расширения» в разделе «Программное обеспечение» приложения «Информация о системе». Я на 10.12.2.
Крис Кало
3
Если вы используете 10.12, то ваш Mac 64-битный. Последняя версия Mac OS X, которая могла работать на 32-битном Mac, была 10.6 Snow Leopard.
Поль Лефевр
У меня Mac OS X 10.7 Lion и настройка «64-битное ядро ​​и расширения: нет». Но я уверен, что у меня есть 64-битный MacBook, что я и проверил методом из ответа @Greg Cain's. Странно
cawecoy
109

Запустите это в командной строке:

getconf LONG_BIT
Грег Каин
источник
7
Это лучший ответ на мой взгляд. И предложение: поместите это в своем профиле:echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
Шридхар Сарнобат
7
Этот ответ должен быть правильным
Виктор Граци
29

Эта статья базы знаний от Apple должна дать вам правильный ответ, так как это зависит от того, сколько лет вашему MacBook Pro.

В основном, если у вас есть что-то новее, чем MacBook 2008 года, у вас есть 64-битный процессор и ОС ...

Вот чит-стол

Процессоры Apple

Нейт Берд
источник
Это не говорит полную историю, но это начало. У меня был Macbook с 64-битным Core 2 Duo, но 32-битной прошивкой / EFI, в результате чего стек никогда не был полностью 64-битным.
Stuff
Это правда. Линия технически размыта, потому что ядро ​​может работать только в 32-битном режиме, а все остальное - 64-битное. Я не уверен, когда именно, но все новые Маки теперь на 100% 64-битные, хотя они все еще могут запускать 32-битные приложения.
Нэйт Берд
Согласно другой статье базы знаний , MacBook Pro с начала 2008 года до середины 2010 года поддерживает 64-разрядное ядро, но не использует его по умолчанию.
Кристиан Чиупиту
17

Другим вариантом является использование sysctlв оболочке:

$ sysctl hw.cpu64bit_capable

Он покажет 1, если процессор способен выполнять 64-битные программы и 0 в противном случае.


источник
12

Как вы могли видеть из всех ответов - маки отличаются от других операционных систем (ОС) тем, что 32-битная и 64-битная разделительная линия все размыты. Вы можете запустить 32-битный код на 64-битном процессоре.

Хороший обзор этой темы содержится в 64-разрядном руководстве Apple по переходу. Помните, что этот переход был начат до выпуска Tiger 29 апреля 2005 года и все еще происходит.

Что такое 64-битные вычисления?

Для целей этого документа 64-разрядные вычисления определяются как поддержка 64-разрядного адресного пространства, то есть поддержки одновременного использования более 4 ГБ памяти одной исполняемой программой - не больше, не меньше.

Начиная с версии 10.4, Mac OS X поддерживает 64-разрядные исполняемые файлы командной строки на компьютерах Macintosh на базе G5 и 64-разрядных компьютерах Intel Macintosh.

Начиная с версии 10.5, Mac OS X поддерживает полнофункциональные 64-разрядные приложения на компьютерах Intel Macintosh на базе G5 и 64-разрядных системах.

Начиная со Snow Leopard, Mac OS X использует 64-битное ядро ​​на некоторых компьютерах Intel.

Кроме того - «64-битные» процессоры по-прежнему имеют компоненты шириной всего 32 бита. Аналогично, «32-разрядные» процессоры также имеют части шириной 128 бит (или более). Вот почему большинство людей сосредотачиваются на адресном пространстве для конкретной программы, а не на том, является ли аппаратное обеспечение 64-разрядным или сколько оно 64-разрядным.

Это действительно не имеет значения, пока вы не получите более конкретный вопрос. Почему ты спрашиваешь об этом? Я надеюсь, что этот общий обзор поможет вам понять, что на самом деле имеют в виду люди, когда обсуждают свои биты.

bmike
источник
10

В окне терминала типа uname -m. Если вы получили x86_64, значит, у вас работает 64-битная OSx.

Полный вывод выглядит примерно так:

Darwin Macbook-Air.local 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 i386 MacBookAir4,2 Darwin
Pav
источник
1
Хотя это будет работать, есть несколько гораздо более простых вариантов, которые не требуют, чтобы начинающий пользователь входил в Терминал.
jbharper2
Также это только дает вам арку ядра. На Core2Duo (64-битном процессоре) вы все еще запускаете 32-битное ядро, только если загрузочный диск этой машины не является 64-битным чистым. Вы все еще можете (и должны) использовать 64-битное Eclipse на этой машине.
МакЛемон
1
Но хорошая вещь в этом решении - это кроссплатформенность (хотя да, я знаю, что это область Apple Stackexchange).
Шридхар Сарнобат
6

Зайдите в меню Apple и выберите «Об этом Mac». Если у вас процессор Core Duo, у вас 32-битный процессор. В противном случае (Core 2 Duo, Xeon, i3, i5, i7, все остальное) у вас есть 64-битный процессор.

Mac OS X довольно независима от битности, поэтому любой из них должен работать. Если все еще сомневаетесь, используйте 32-битную версию.

CajunLuke
источник
3
Для полноты картины в самом первом Intel Mac mini ( «Начало 2006» ) использовался только 32-битный процессор «Core Solo» .
Крис Джонсен
3

Команда archбез аргументов отобразит тип архитектуры машины.

Результаты (с arch(1)manpage):

i386    32-bit intel
ppc     32-bit powerpc
ppc64   64-bit powerpc
x86_64  64-bit intel
Майкл Грейнджер
источник
3
Нет У меня есть Core i7 MBP, и у меня включено 32-битное ядро, так как этого требует программное обеспечение VPN моего работодателя, и arch возвращает мне i386. Мой процессор 64-битный, и у меня работает много 64-битных процессов, так что, похоже, это говорит вам только о типе ядра.
Дэвид
1
То, что сказал Дэвид - это говорит только о том, какое ядро ​​работает. Как и Дэвид, я использую 32-битное ядро, потому что мне нужен kext, который требует его, но я могу без проблем запускать 64-битные пользовательские процессы.
Шерм Пендли
3

Просто запустите Монитор активности и найдите процесс с именем kernel_task . Тогда посмотрите на колонку Вид. Если написано Intel , значит, вы работаете в 32-битном режиме. Если в нем указано Intel (64-разрядная версия) , то, как видно из текста, вы работаете в 64-разрядном режиме.

Примечание. Необходимо отобразить все процессы из раскрывающегося списка рядом с полем поиска (фильтр).

Затем вы можете проверить ответ @Nate Bird о том, какой у вас процессор и поддерживаемые для него режимы.

BISKO
источник
1
Режим ядра на самом деле не имеет значения для пользовательского пространства; OS X будет счастливо запускать 64-битные процессы под 32-битным ядром или наоборот.
Гордон Дэвиссон
Первоначальный вопрос был о том, является ли ОС 32- или 64-разрядной, а не поддерживаемой архитектурой процессора :)
bisko
Ядро - это не ОС, и режим ядра не имеет отношения к тому, что на самом деле хочет знать спрашивающий: какая версия Eclipse подходит?
Гордон Дэвиссон
Мне нравится ответ Биско, потому что он помог мне найти способ точно сказать, что я сейчас использую - 32-битный или 64-битный. У меня есть версия VMWare, которая будет работать только в 32-разрядной версии, и после обновления до Lion она загружается в 64-разрядную, поэтому мне нужно перезагрузить компьютер и удерживать клавиши 3 + 2 при загрузке, чтобы запустить его в 32-разрядной версии. -битный режим. Без фактического запуска VMWare приятно знать, в каком режиме я сейчас работаю. Кажется, некоторые из моих других приложений работают лучше и в 32-битном режиме. Спасибо за разные углы ответов на главный вопрос.
bisko правильно, но просто хотел добавить Приложения> Утилиты> Монитор активности , в процессоре мониторинга активности перейдите в верхнее меню, Вид> Столбцы> Вид , а также Вид> Все процессы . Мой читает 64bit на большинстве запущенных процессов, а не только на kernel_task. 09 'Макбук, Йосемити.
2

OS X не имеет общего 32/64-битного режима; он просто запускает каждую программу в «лучшем» доступном режиме, основываясь на том, на что способен процессор и что поддерживает программа. Многие программы OS X поставляются в универсальном двоичном формате, что означает, что они имеют несколько версий (некоторая комбинация 32-разрядной PowerPC, 64-разрядной PowerPC, 32-разрядной Intel и 64-разрядной Intel), включенных в один файл.

Очевидно, что Eclipse не идет по этому пути, поэтому вам нужно решить, какую версию загрузить. Я недостаточно знаком с ним, чтобы знать, должен ли он работать в том же режиме, в котором вы пытаетесь отлаживать; если это так, запустите вашу программу и найдите ее в Activity Monitor, чтобы увидеть, в каком режиме она работает. Если Eclipse не обязательно должен быть в том же режиме (или код Java просто запускается внутри Eclipse), то вы можете использовать либо один (если только вы не используете 32-битный процессор, то есть Core Solo или Core Duo).

Гордон Дэвиссон
источник
1

Запустить в Терминале:

sysctl hw.cpu64bit_capable

Если это дает 1, это означает, что ваш компьютер имеет 64-битную архитектуру.

Или используйте archкоманду, которая может вернуть либо i386(32-битный Intel), либо x86_64(64-битный Intel).

kenorb
источник
Бег archдает "i386". В то же время sysctl hw.cpu64bit_capableдает 1. Тогда что это?
Gajus
0

В командной строке вы можете запустить ...

(
printf '\n\n'
echo 'System Software Overview:'
system_profiler SPSoftwareDataType | sed -n '/64-bit/s/[[:space:]]*\(.*\)/\1/p'
ioreg -l -p IODeviceTree | sed -n '/firmware\-abi/s/.*"\([^"]*\)".*"\([^"]*\)".*/\1: \2/p'
printf '\n\n'
echo 'Java:'
#man java_home | cat
#/usr/libexec/java_home -h  
#/usr/libexec/java_home -V
#/usr/libexec/java_home -X
/usr/libexec/java_home -d 32
/usr/libexec/java_home -d 64
printf '\n\n'
)

# sample output:
#
# System Software Overview:
# 64-bit Kernel and Extensions: No 
# firmware-abi: EFI64
#
# Java:
# /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
# /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Как уже сказал Гордон Дэвиссон, толстые двоичные файлы могут включать в себя как 32-битные, так и 64-битные исполняемые файлы программы (см. Также Multiple Architecture, Single Build ).

file /mach_kernel /usr/lib/libSystem.dylib
январь
источник
1
хе-хе, спасибо за короткий путь! : -Я предпочитаю только getconf LONG_BITтерминал, но, конечно, это может быть не так, как у джедаев
Фарсайд
0

Запустите uname -aв оболочке, чтобы показать подробности о ядре. Вы можете увидеть RELEASE_X86_64 x86_64для 64-битной версии

ViniciusC
источник
0

Откройте Terminal.app и выполните команду ниже:

uname -m | if grep -q 64; then echo "64-bit CPU (`uname -m`)"; else echo "32-bit CPU (`uname -m`)"; fi

kaiky25
источник