Я хочу установить новое программное обеспечение с этими двумя версиями, и мне нужно знать, какое из них установить.
Как я могу определить 32- или 64-битные возможности моего Mac?
Я хочу установить новое программное обеспечение с этими двумя версиями, и мне нужно знать, какое из них установить.
Как я могу определить 32- или 64-битные возможности моего Mac?
Ответы:
Чтобы узнать, используете ли вы 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.
Запустите это в командной строке:
getconf LONG_BIT
echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
Эта статья базы знаний от Apple должна дать вам правильный ответ, так как это зависит от того, сколько лет вашему MacBook Pro.
В основном, если у вас есть что-то новее, чем MacBook 2008 года, у вас есть 64-битный процессор и ОС ...
Вот чит-стол
Другим вариантом является использование sysctl
в оболочке:
$ sysctl hw.cpu64bit_capable
Он покажет 1, если процессор способен выполнять 64-битные программы и 0 в противном случае.
Как вы могли видеть из всех ответов - маки отличаются от других операционных систем (ОС) тем, что 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-разрядным.
Это действительно не имеет значения, пока вы не получите более конкретный вопрос. Почему ты спрашиваешь об этом? Я надеюсь, что этот общий обзор поможет вам понять, что на самом деле имеют в виду люди, когда обсуждают свои биты.
В окне терминала типа 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
Зайдите в меню Apple и выберите «Об этом Mac». Если у вас процессор Core Duo, у вас 32-битный процессор. В противном случае (Core 2 Duo, Xeon, i3, i5, i7, все остальное) у вас есть 64-битный процессор.
Mac OS X довольно независима от битности, поэтому любой из них должен работать. Если все еще сомневаетесь, используйте 32-битную версию.
Команда arch
без аргументов отобразит тип архитектуры машины.
Результаты (с arch(1)
manpage):
i386 32-bit intel
ppc 32-bit powerpc
ppc64 64-bit powerpc
x86_64 64-bit intel
Просто запустите Монитор активности и найдите процесс с именем kernel_task . Тогда посмотрите на колонку Вид. Если написано Intel , значит, вы работаете в 32-битном режиме. Если в нем указано Intel (64-разрядная версия) , то, как видно из текста, вы работаете в 64-разрядном режиме.
Примечание. Необходимо отобразить все процессы из раскрывающегося списка рядом с полем поиска (фильтр).
Затем вы можете проверить ответ @Nate Bird о том, какой у вас процессор и поддерживаемые для него режимы.
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).
Запустить в Терминале:
sysctl hw.cpu64bit_capable
Если это дает 1
, это означает, что ваш компьютер имеет 64-битную архитектуру.
Или используйте arch
команду, которая может вернуть либо i386
(32-битный Intel), либо x86_64
(64-битный Intel).
arch
дает "i386". В то же время sysctl hw.cpu64bit_capable
дает 1
. Тогда что это?
В командной строке вы можете запустить ...
(
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
getconf LONG_BIT
терминал, но, конечно, это может быть не так, как у джедаев