Як перевірити, чи працює мій Mac на 32-х чи 64-бітних версіях


52

Я хочу встановити нове програмне забезпечення, яке має ці дві версії, і мені потрібно знати, яку з них встановити.

Як я можу розповісти про 32 або 64 бітові можливості мого Mac?


Яку версію ОС ви працюєте? Коли був побудований ваш 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-бітних Macs).

Відповіді:


20

Щоб сказати, чи працює ви 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.


3
System Profiler не встановлений на моїй машині - або прожектор не може його знайти - тому ця відповідь не буде працювати для всіх.
Кріс Кало

Яка ваша машина та ОС? Назву деякий час тому було змінено на "Інформація про систему" (це в папці "Утиліти").
Пол Лефевр

5
Я знайшов додаток Інформація про систему. Дякую. Було б добре оновити відповідь на користь інших. На жаль, я не зміг знайти пункт "64-бітове ядро ​​та розширення" у розділі Програмне забезпечення додатка "Інформація про систему". Я на v10.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. Дивно
cawecoy

108

Виконайте це в командному рядку:

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 біт. Я точно не знаю, коли, але всі нові Macs тепер здатні на 100% 64 біт, хоча вони все ще можуть запускати 32-бітні програми.
Пташка Нейт

Відповідно до іншої статті бази знань , MacBook Pro з початку 2008 року до середини 2010 року підтримує 64-бітове ядро, але не використовує його за замовчуванням.
Крістіан Цюпіту

17

Інший варіант - використання sysctlв оболонці:

$ sysctl hw.cpu64bit_capable

Він покаже 1, якщо ЦП здатний запускати 64-бітні програми, а 0 - інакше.


12

Як ви, мабуть, бачили з усіх відповідей, - маки відрізняються від інших операційних систем (ОС) тим, що 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-бітним"

Це насправді не має значення, поки ви не перейдете до більш конкретного питання. Чому ви питаєте про це? Я сподіваюсь, що цей загальний огляд допоможе вам зрозуміти, що люди насправді мають на увазі, коли вони обговорюють свої шматочки.


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

1
Хоча це буде працювати, є кілька набагато простіших варіантів, які не вимагають від початківця користувача для входу в Термінал.
jbharper2

Також це дає лише арку ядра. У Core2Duo (64-розрядний процесор) ви все одно запускаєте 32-бітове ядро, якщо завантаження цієї машини не є 64-бітним чистим. Ви все ще можете (і повинні) використовувати 64-бітовий Eclipse на цій машині.
MacLemon

1
Але гарна річ у цьому рішенні - це кросплатформна платформа (хоча так, я знаю, це область Apple Stackexchange).
Шрідхар Сарнобат

6

Перейдіть до меню Apple і виберіть "Про цей Mac". Якщо у вас процесор Core Duo, у вас є 32-бітний процесор. Інакше (Core 2 Duo, Xeon, i3, i5, i7, будь-що інше) у вас 64-бітний процесор.

Mac OS X досить біт-агностик, тому або треба працювати. Якщо ви все ще сумніваєтеся, використовуйте 32-бітну версію.


3
Для повноти був також 32-балотний процесор "Core Solo", який використовувався в першому Intel Mac mini ( "На початку 2006 року" ).
Кріс Джонсен

3

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

Результати (з сторінки сторінки arch(1)):

i386    32-bit intel
ppc     32-bit powerpc
ppc64   64-bit powerpc
x86_64  64-bit intel

3
Ні, ні. У мене є Core i7 MBP і 32-бітове ядро ​​увімкнено, оскільки цього вимагає програмне забезпечення VPN мого роботодавця, а арка повертає i386 для мене. У мене процесор 64-розрядний, і в мене працює багато 64-бітних процесів, тому це, здається, лише підкаже, який тип ядра.
Девід

1
Що сказав Девід - це лише говорить вам про те, яке ядро ​​працює. Як і Девід, я використовую 32-бітове ядро, тому що мені потрібен кекс, який вимагає цього, але я можу без проблем запускати 64-бітні користувацькі процеси.
Шерм Пендлі

3

Просто запустіть монітор активності та знайдіть процес під назвою kernel_task . Потім подивіться на стовпчик Вид. Якщо це говорить Intel , то ви зараз працюєте в 32-бітовому режимі. Якщо він говорить Intel (64-розрядний) , то, як говориться в тексті, ви працюєте в 64-бітовому режимі.

Примітка. Ви повинні показати всі процеси , починаючи з випадаючого меню поруч із полем пошуку (фільтром).

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


1
Режим ядра насправді не має значення для країни користувача; OS X із задоволенням запустить 64-бітні процеси під 32-бітним ядром або навпаки.
Гордон Девіссон

Оригінальний питання
стосувався того,

Ядро не ОС, а режим ядра не має значення для того, що запитувач насправді хоче знати: яка версія Eclipse підходить?
Гордон Девіссон

Мені подобається відповідь Біско, тому що вона допомогла мені знайти спосіб сказати напевно, що я зараз працюю - 32-бітне або 64-бітове. У мене є версія VMWare, яка працюватиме лише в 32-бітовій версії, а після оновлення до Lion вона завантажується в 64-бітну, тому мені потрібно перезавантажити і утримувати клавіші 3 + 2 при завантаженні, щоб змусити її працювати в 32 -бітовий режим. Не запускаючи фактично VMWare, приємно знати, у якому режимі я зараз працюю. Здається, деякі мої додатки працюють і в 32-бітному режимі. Дякую за всі різні аспекти відповідей на головне питання.

Біско вірно, але просто хотів додати, Додатки> Утиліти> Монітор активності , у моніторі перегляду процесора перейдіть у верхнє меню, Перегляд> Стовпці> Вид , а також Перегляд> Усі процеси . Моя читає 64-бітну більшість запущених процесів, а не лише kernel_task. 09 'MacBook, Йосеміті.

2

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

Затьмарення, мабуть, не відбувається таким чином, тому ви повинні вирішити, яку версію завантажити. Я недостатньо знайомий з ним, щоб знати, чи має він працювати в тому ж режимі, що і те, що ви намагаєтеся налагодити; якщо так, запустіть програму та знайдіть її в Моніторі діяльності, щоб побачити, у якому режимі вона працює. Якщо Eclipse не повинен бути в тому ж режимі (або код Java просто працює всередині Eclipse), ви можете використовувати будь-який один (якщо ви не використовуєте 32-бітний процесор, тобто Core Solo або Core Duo).


1

Запуск у терміналі:

sysctl hw.cpu64bit_capable

Якщо він дає 1, це означає, що ваш комп'ютер має 64-бітну архітектуру.

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


Біг 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-бітні виконувані файли програми (див. Також Множинна архітектура, Одномісна збірка ).

file /mach_kernel /usr/lib/libSystem.dylib

1
хе-х, дякую за короткий шлях! : -Я віддаю перевагу просто getconf LONG_BITз терміналу, але, можливо, це не такий джедай-шлях, звичайно
Farside

0

Запустіть uname -aв оболонці, щоб показати деталі про ядро. Ви можете бачити RELEASE_X86_64 x86_6464-бітну версію


0

Відкрийте Terminal.app і запустіть команду нижче:

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.