Jak sprawdzić, czy mój komputer Mac z procesorem Intel jest 32-bitowy czy 64-bitowy

52

Chcę zainstalować nowe oprogramowanie, które ma te dwie wersje, i muszę wiedzieć, które z nich zainstalować.

Jak mogę sprawdzić 32 lub 64-bitowe możliwości mojego komputera Mac?

iddober
źródło
Z jakiej wersji systemu operacyjnego korzystasz? Kiedy powstał MacBook Pro?
Daniel
5
To całkiem proste. Przejdź do logo Apple i wybierz „Informacje o tym komputerze Mac”. Jeśli mówi Core Duo, oznacza to, że jest 32-bitowy. Jeśli mówi Core 2 Duo, oznacza to, że jest to 64-bitowe (zignoruj ​​problem z jądrem 32-bitowym, będzie dobrze działać z oprogramowaniem 64-bitowym). Fizycznie, jeśli twój MBP ma czarną klawiaturę, jest absolutnie 64-bitowy. Oryginalne MBP miały srebrną klawiaturę, a 32-bitowe jednostki zostały prawie wymienione na początku 2007 roku. Więc jeśli kupiłeś swój model nawet w późniejszym okresie 2007 roku, to jest to komputer Mac z obsługą 64-bitową. Ponadto, jeśli korzystasz z Lion, masz 64-bitowy (ponieważ Lion nie działa na 32-bitowych komputerach Mac).

Odpowiedzi:

20

Aby stwierdzić, czy używasz jądra 32-bitowego czy 64-bitowego (co ma znaczenie w przypadku niektórych sterowników urządzeń), uruchom program Profil systemu i kliknij nagłówek Oprogramowanie w sekcji Spis treści .

Linia 64-bitowe jądro i rozszerzenia powie „ Tak”, jeśli używasz jądra 64-bitowego, i „ Nie”, jeśli używasz jądra 32-bitowego.

Uwaga: Mac OS X 10.6 Snow Leopard to ostatnie wydanie, na którym można uruchomić 32-bitowy procesor Intel Mac, Mac OS X 10.7 Lion i nowsze są domyślnie 64-bitowe. Ponadto w programie OS X 10.7 zmieniono nazwę System Profiler na Informacje o systemie.

Paul Lefebvre
źródło
3
System Profiler nie jest zainstalowany na moim komputerze - lub Spotlight nie może go znaleźć - więc ta odpowiedź nie będzie działać dla wszystkich.
Chris Calo,
Jaki jest twój komputer i system operacyjny? Nazwa została zmieniona na „Informacje o systemie” jakiś czas temu (znajduje się w folderze Narzędzia).
Paul Lefebvre,
5
Znalazłem aplikację Informacje o systemie. Dzięki. Dobrze byłoby zaktualizować odpowiedź z korzyścią dla innych. Niestety nie mogę znaleźć elementu „64-bitowe jądro i rozszerzenia” w sekcji Oprogramowanie w aplikacji Informacje o systemie. Jestem w wersji 10.12.2.
Chris Calo,
3
Jeśli używasz wersji 10.12, komputer Mac jest 64-bitowy. Ostatnia wersja systemu Mac OS X, która mogła działać na 32-bitowym komputerze Mac, to 10.6 Snow Leopard.
Paul Lefebvre,
Mam system Mac OS X 10.7 Lion i ustawienie „64-bitowe jądro i rozszerzenia: Nie”. Ale jestem pewien, że mam 64-bitowego MacBooka, co zweryfikowałem metodą z answear @Greg Cain. Dziwne
cawecoy
108

Uruchom to w wierszu poleceń:

getconf LONG_BIT
Greg Cain
źródło
7
To jest najlepsza odpowiedź moim zdaniem. I sugestia: umieść to w swoim profilu:echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
Sridhar Sarnobat
7
Ta odpowiedź powinna być poprawną odpowiedzią
Victor Grazi
29

Ten artykuł z bazy wiedzy Apple powinien dostarczyć poprawnej odpowiedzi, ponieważ zależy to od wieku MacBooka Pro.

Zasadniczo, jeśli masz coś nowszego niż MacBook 2008, masz 64-bitowy procesor i system operacyjny…

Oto tabela kodów

Procesory Apple

Nate Bird
źródło
To nie mówi pełnej historii, ale to początek. Miałem Macbooka z 64-bitowym Core 2 Duo, ale 32-bitowe oprogramowanie układowe / EFI, w wyniku czego stos nigdy nie był w pełni 64-bitowy.
faszeruj
To prawda. Linia jest technicznie rozmyta, ponieważ jądro może działać tylko w trybie 32-bitowym, ale wszystko inne jest 64-bitowe. Nie jestem pewien, kiedy dokładnie, ale wszystkie nowe komputery Mac są teraz w 100% 64-bitowe - chociaż nadal mogą uruchamiać aplikacje 32-bitowe.
Nate Bird,
Według innego artykułu z bazy wiedzy MacBook Pro od początku 2008 r. Do połowy 2010 r. Obsługuje jądro 64-bitowe, ale nie należy go domyślnie używać.
Cristian Ciupitu
17

Inną opcją jest użycie sysctlw powłoce:

$ sysctl hw.cpu64bit_capable

Pokazuje 1, jeśli procesor jest zdolny do uruchamiania programów 64-bitowych, a 0 w przeciwnym razie.


źródło
12

Jak zapewne widzieliście na podstawie wszystkich odpowiedzi - komputery Mac różnią się od innych systemów operacyjnych tym, że 32-bitowa i 64-bitowa linia podziału jest niewyraźna. Na 64-bitowym procesorze można uruchomić 32-bitowy kod.

Miły przegląd tego tematu znajduje się w 64-bitowym Przewodniku przejścia Apple. Pamiętaj, że przejście to rozpoczęło się przed wydaniem Tiger 29 kwietnia 2005 roku i nadal trwa.

Co to jest przetwarzanie 64-bitowe?

Na potrzeby tego dokumentu przetwarzanie 64-bitowe jest definiowane jako wsparcie dla 64-bitowej przestrzeni adresowej - to znaczy obsługa jednoczesnego wykorzystania ponad 4 GB pamięci przez pojedynczy program wykonywalny - nie więcej, nie mniej.

Począwszy od wersji 10.4, Mac OS X obsługuje 64-bitowe pliki wykonywalne z linii poleceń na komputerach Macintosh opartych na G5 i komputerach Intel Macintosh z obsługą 64-bitów.

Począwszy od wersji 10.5, Mac OS X obsługuje w pełni funkcjonalne 64-bitowe aplikacje na komputerach Intel Macintosh z procesorami G5 i 64-bit.

Począwszy od Snow Leopard, Mac OS X używa 64-bitowego jądra na niektórych komputerach Intel.

Ponadto - procesory „64-bitowe” nadal mają części o szerokości tylko 32 bitów. Podobnie procesory, które są „32-bitowe”, również mają części o szerokości 128 bitów (lub więcej). To dlatego większość ludzi skupia się na przestrzeni adresowej dla konkretnego programu, a nie na tym, czy sprzęt jest „64-bitowy”, czy na ile „64-bitowy”

To naprawdę nie ma znaczenia, dopóki nie przejdziesz do bardziej szczegółowego pytania. Dlaczego o to pytasz? Mam nadzieję, że ten ogólny przegląd pomoże ci zrozumieć, co ludzie naprawdę mają na myśli, gdy dyskutują o swoich bitach.

bmike
źródło
10

W oknie typu terminalu uname -m. Jeśli otrzymujesz x86_64, to masz 64-bitowy system operacyjny OSx.

Pełny wynik wygląda mniej więcej tak:

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
źródło
1
Chociaż to zadziała, istnieje kilka znacznie prostszych opcji, które nie wymagają od początkującego użytkownika dostępu do terminalu.
jbharper2
To daje ci tylko łuk jądra. Na Core2Duo (64-bitowy procesor) nadal uruchamiasz jądro 32-bitowe tylko wtedy, gdy bootrom tej maszyny nie jest czysty 64-bit. Nadal możesz (i powinieneś) używać 64-bitowego Eclipse na tym komputerze.
MacLemon,
1
Ale dobrą rzeczą w tym rozwiązaniu jest wieloplatformowe (choć tak, wiem, że jest to obszar Apple Stackexchange).
Sridhar Sarnobat
6

Przejdź do Apple Menu i wybierz „About this Mac”. Jeśli masz procesor Core Duo, masz 32-bitowy procesor. W przeciwnym razie (Core 2 Duo, Xeon, i3, i5, i7, cokolwiek innego) masz 64-bitowy procesor.

Mac OS X jest dość niezależny od bitów, więc oba powinny działać. W razie wątpliwości użyj wersji 32-bitowej.

CajunLuke
źródło
3
Dla kompletności istniał również 32-bitowy procesor „Core Solo” zastosowany w pierwszym Intel Mac mini ( „Early 2006” ).
Chris Johnsen,
3

archPolecenia bez argumentów wyświetla urządzenia typu architektury.

Wyniki (z arch(1)manpage):

i386    32-bit intel
ppc     32-bit powerpc
ppc64   64-bit powerpc
x86_64  64-bit intel
Michael Granger
źródło
3
O nie. Mam Core i7 MBP i mam włączone jądro 32-bitowe, ponieważ wymaga tego oprogramowanie VPN mojego pracodawcy, a arch zwraca mi i386. Mój procesor jest 64-bitowy i mam uruchomionych wiele procesów 64-bitowych, więc wydaje się, że mówi to tylko, jaki jest typ jądra.
David
1
To, co powiedział David - mówi tylko, jakie jądro działa. Podobnie jak David, używam jądra 32-bitowego, ponieważ potrzebuję kext, który tego wymaga, ale bez problemu mogę uruchomić 64-bitowe procesy użytkownika.
Sherm Pendley,
3

Po prostu uruchom Monitor aktywności i znajdź proces o nazwie kernel_task . Następnie spójrz na kolumnę Rodzaj. Jeśli mówi Intel , oznacza to, że obecnie pracujesz w trybie 32-bitowym. Jeśli mówi Intel (64-bit) , to jak mówi tekst, pracujesz w trybie 64-bitowym.

Uwaga: musisz pokazać Wszystkie procesy , od rozwijanego obok pola wyszukiwania (filtr).

Następnie możesz sprawdzić odpowiedź @Nate Bird na temat posiadanego procesora i obsługiwanych trybów.

bisko
źródło
1
Tryb jądra tak naprawdę nie ma znaczenia dla przestrzeni użytkownika; OS X z przyjemnością uruchomi 64-bitowe procesy w 32-bitowym jądrze i odwrotnie.
Gordon Davisson
Pierwotne pytanie dotyczyło tego, czy system operacyjny jest 32- czy 64-bitowy, a nie obsługiwane architektury procesora :)
bisko
Jądro nie jest systemem operacyjnym, a tryb jądra nie ma znaczenia dla tego, o co pytający faktycznie chce wiedzieć: która wersja Eclipse jest odpowiednia?
Gordon Davisson,
Podoba mi się odpowiedź bisko, ponieważ pomogła mi znaleźć sposób, aby na pewno powiedzieć, co aktualnie uruchomię - 32-bitowy lub 64-bitowy. Mam wersję VMWare, która będzie działać tylko w wersji 32-bitowej, a od aktualizacji do wersji Lion uruchamia się w wersji 64-bitowej, więc muszę uruchomić ponownie i przytrzymać klawisze 3 + 2 podczas uruchamiania, aby uruchomić w wersji 32 tryb -bit. Bez uruchamiania VMWare, miło jest wiedzieć, który tryb aktualnie używam. Wygląda na to, że niektóre inne moje aplikacje działają lepiej również w trybie 32-bitowym. Dzięki za wszystkie różne kąty odpowiedzi na główne pytanie.
bisko jest poprawne, ale chciałem tylko dodać, Aplikacje> Narzędzia> Monitor aktywności , w monitorze aktywności wyświetlającym procesor przejdź do górnego menu, Widok> Kolumny> Rodzaj , a także Widok> Wszystkie procesy . Mój odczyt 64-bitowy na większości uruchomionych procesów, nie tylko na poleceniu kernel. 09 'MacBook, Yosemite.
2

OS X nie ma ogólnego trybu 32/64-bitowego; po prostu uruchamia każdy program w „najlepszym” dostępnym trybie, w oparciu o możliwości procesora i obsługę programu. Wiele programów OS X ma uniwersalny format binarny, co oznacza, że ​​mają wiele wersji (niektóre kombinacje PowerPC 32-bit, PowerPC 64-bit, Intel 32-bit i Intel 64-bit) zawartych w tym samym pliku.

Najwidoczniej Eclipse nie działa w ten sposób, więc musisz zdecydować, którą wersję pobrać. Nie znam go wystarczająco dobrze, aby wiedzieć, czy musi działać w tym samym trybie, co próbujesz debugować; jeśli tak, uruchom program i poszukaj go w Monitorze aktywności, aby zobaczyć, w jakim trybie on działa. Jeśli Eclipse nie musi być w tym samym trybie (lub kod Java po prostu działa w Eclipse), możesz użyć dowolnego z nich jeden (chyba że masz procesor 32-bitowy, tj. Core Solo lub Core Duo).

Gordon Davisson
źródło
1

Uruchom w terminalu:

sysctl hw.cpu64bit_capable

Jeśli daje 1, oznacza to, że komputer ma architekturę 64-bitową.

Lub użyj archpolecenia, które może zwrócić i386(32-bit Intel) lub x86_64(64-bit Intel).

kenorb
źródło
Uruchomienie archdaje „i386”. Tymczasem sysctl hw.cpu64bit_capabledaje 1. Więc co to jest?
Gajus,
0

W wierszu poleceń możesz uruchomić ...

(
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

Jak już stwierdził Gordon Davisson, tłuste pliki binarne mogą zawierać zarówno 32-bitowe, jak i 64-bitowe pliki wykonywalne programu (patrz także Multiple Architecture, Single Build ).

file /mach_kernel /usr/lib/libSystem.dylib
Jan
źródło
1
hehe, dziękuję za krótką ścieżkę! : - Wolę tylko getconf LONG_BITterminal, ale oczywiście może nie być tak, jak Jedi
Farside,
0

Uruchom uname -aw powłoce, aby wyświetlić szczegóły dotyczące jądra. Możesz zobaczyć RELEASE_X86_64 x86_64wersję 64-bitową

Winicjusz C.
źródło
0

Otwórz Terminal.app i uruchom poniższe polecenie:

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

kaiky25
źródło