Я хочу встановити нове програмне забезпечення, яке має ці дві версії, і мені потрібно знати, яку з них встановити.
Як я можу розповісти про 32 або 64 бітові можливості мого Mac?
Я хочу встановити нове програмне забезпечення, яке має ці дві версії, і мені потрібно знати, яку з них встановити.
Як я можу розповісти про 32 або 64 бітові можливості мого Mac?
Відповіді:
Щоб сказати, чи працює ви 32-бітне або 64-бітове ядро (що важливо для деяких драйверів пристроїв), запустіть System Profiler і натисніть на заголовок програмного забезпечення в розділі Зміст .
64-бітове ядро та розширення рядка скажуть Так, якщо ви працюєте з 64-бітним ядром, і Ні, якщо ви працюєте з 32-розрядним ядром.
Примітка: Mac OS X 10.6 Snow Leopard - це останній реліз, який може працювати 32-розрядний Intel Mac, Mac OS X 10.7 Lion і вище за замовчуванням 64-розрядні. Крім того, System Profiler було перейменовано на системну інформацію в 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-бітна лінія розмежування всі розмита. У 64-бітовому процесорі може працювати 32-бітний код.
Приємний огляд цієї теми міститься в 64-бітному посібнику з переходу Apple. Майте на увазі, цей перехід розпочався до виходу Тигра 29 квітня 2005 року і все ще відбувається.
Що таке 64-бітні обчислення?
Для цілей цього документа 64-розрядні обчислення визначаються як підтримка 64-бітного адресного простору, тобто підтримка одночасного використання більше 4 ГБ пам'яті однією виконуваною програмою - ні більше, ні менше.
Починаючи з версії 10.4, Mac OS X підтримує 64-бітні виконувані файли командного рядка на комп’ютерах Macintosh на базі G5 та на комп'ютерах Intel Macintosh з 64 бітами.
Починаючи з версії 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)
):
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 не повинен бути в тому ж режимі (або код 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-бітні виконувані файли програми (див. Також Множинна архітектура, Одномісна збірка ).
file /mach_kernel /usr/lib/libSystem.dylib
getconf LONG_BIT
з терміналу, але, можливо, це не такий джедай-шлях, звичайно