So überprüfen Sie, ob mein Intel-basierter Mac 32-Bit oder 64-Bit ist

52

Ich möchte neue Software mit diesen beiden Versionen installieren und muss wissen, welche installiert werden soll.

Wie kann ich die 32- oder 64-Bit-Funktionen meines Mac erkennen?

iddober
quelle
Welche Version des Betriebssystems verwenden Sie? Wann wurde dein MacBook Pro gebaut?
Daniel
5
Es ist ganz einfach. Gehen Sie zum Apple-Logo und wählen Sie "Über diesen Mac". Wenn es um Core Duo geht, dann ist es 32-Bit. Wenn Core 2 Duo angezeigt wird, handelt es sich um 64 Bit (ignorieren Sie das 32-Bit-Kernel-Problem, die 64-Bit-Software wird einwandfrei ausgeführt). Wenn Ihr MBP eine schwarze Tastatur hat, ist dies physikalisch absolut 64-Bit. Die originalen MBPs hatten eine silberne Tastatur und die 32-Bit-Einheiten wurden fast Anfang 2007 ersetzt. Wenn Sie Ihr Modell also noch im späteren Verlauf des Jahres 2007 gekauft haben, ist es ein Mac, auf dem 64-Bit ausgeführt werden kann. Wenn Sie Lion verwenden, sind Sie 64-Bit-Computer (da Lion nicht auf 32-Bit-Macs ausgeführt wird).

Antworten:

20

Um festzustellen, ob Sie den 32-Bit- oder 64-Bit-Kernel ausführen (was für einige Gerätetreiber von Bedeutung ist), starten Sie System Profiler und klicken Sie im Abschnitt Inhalt auf die Überschrift Software .

In der Zeile 64-Bit-Kernel und -Erweiterungen wird Ja angezeigt, wenn Sie den 64-Bit-Kernel ausführen, und Nein, wenn Sie den 32-Bit-Kernel ausführen.

Hinweis: Mac OS X 10.6 Snow Leopard ist die letzte Version, die auf einem 32-Bit-Intel-Mac ausgeführt werden kann. Mac OS X 10.7 Lion und höher sind standardmäßig 64-Bit. Darüber hinaus wurde System Profiler in OS X 10.7 in Systeminformationen umbenannt .

Paul Lefebvre
quelle
3
Der System Profiler ist auf meinem Computer nicht installiert - oder Spotlight kann ihn nicht finden -, daher funktioniert diese Antwort nicht für alle.
Chris Calo
Was ist Ihr Computer und Betriebssystem? Der Name wurde vor einiger Zeit in "Systeminformationen" geändert (im Ordner "Dienstprogramme").
Paul Lefebvre
5
Ich habe die Systeminformations-App gefunden. Vielen Dank. Es wäre gut, die Antwort zum Wohle anderer zu aktualisieren. Leider konnte ich das Element "64-Bit-Kernel und -Erweiterungen" im Abschnitt "Software" der Systeminformations-App nicht finden. Ich bin auf v10.12.2.
Chris Calo
3
Wenn Sie 10.12 verwenden, ist Ihr Mac 64-Bit. Die letzte Version von Mac OS X, die auf einem 32-Bit-Mac ausgeführt werden konnte, war 10.6 Snow Leopard.
Paul Lefebvre
Ich habe Mac OS X 10.7 Lion und die Einstellung "64-Bit-Kernel und -Erweiterungen: Nein". Aber ich bin mir sicher, dass ich ein 64-Bit-MacBook habe, wie ich anhand der Methode aus der Antwort von @Greg Cain überprüft habe. Seltsam
cawecoy
108

Führen Sie dies in der Befehlszeile aus:

getconf LONG_BIT
Greg Cain
quelle
7
Dies ist meiner Meinung nach die beste Antwort. Und ein Vorschlag: echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
Tragen Sie
7
Diese Antwort sollte die richtige sein
Victor Grazi
29

Dieser Knowledge Base-Artikel von Apple sollte Ihnen die richtige Antwort geben, da dies davon abhängt, wie alt Ihr MacBook Pro ist.

Grundsätzlich haben Sie einen 64-Bit-Prozessor und ein Betriebssystem, wenn Sie etwas Neueres als ein 2008-MacBook haben.

Hier ist der Cheat-Tisch

Apple-Prozessoren

Nate Bird
quelle
Dies erzählt nicht die ganze Geschichte, aber es ist ein Anfang. Ich hatte ein Macbook mit einem 64-Bit-Core-2-Duo, aber 32-Bit-Firmware / EFI, was zu einem Stapel führte, der nie vollständig 64-Bit war.
Stuff
Das ist wahr. Die Leitung ist technisch undeutlich, da der Kernel möglicherweise nur im 32-Bit-Modus ausgeführt wird, aber alles andere 64-Bit ist. Ich bin mir nicht sicher, wann genau, aber alle neuen Macs sind jetzt zu 100% 64-Bit-fähig - obwohl sie immer noch 32-Bit-Apps ausführen können.
Nate Bird
Einem anderen Knowledge Base-Artikel zufolge unterstützt MacBook Pro von Anfang 2008 bis Mitte 2010 den 64-Bit-Kernel, verwendet ihn jedoch nicht standardmäßig.
Cristian Ciupitu
17

Eine andere Option ist die Verwendung sysctlin einer Shell:

$ sysctl hw.cpu64bit_capable

Es wird 1 angezeigt, wenn die CPU 64-Bit-Programme ausführen kann, und 0, wenn dies nicht der Fall ist.


quelle
12

Wie Sie vielleicht anhand aller Antworten gesehen haben, unterscheiden sich Macs von anderen Betriebssystemen darin, dass die 32-Bit- und 64-Bit-Trennlinie verschwommen ist. Sie können 32-Bit-Code auf einer 64-Bit-CPU ausführen lassen.

Eine schöne Übersicht zu diesem Thema finden Sie im 64-Bit-Übergangshandbuch von Apple. Denken Sie daran, dass dieser Übergang bereits vor der Veröffentlichung von Tiger am 29. April 2005 begonnen wurde und noch stattfindet.

Was ist 64-Bit-Computing?

In diesem Dokument wird 64-Bit-Computing als Unterstützung für einen 64-Bit-Adressraum definiert, dh die gleichzeitige Verwendung von mehr als 4 GB Speicher durch ein einzelnes ausführbares Programm - nicht mehr und nicht weniger.

Ab Version 10.4 unterstützt Mac OS X ausführbare 64-Bit-Befehlszeilenprogramme auf G5-basierten Macintosh-Computern und 64-Bit-fähigen Intel Macintosh-Computern.

Ab Version 10.5 unterstützt Mac OS X 64-Bit-Anwendungen mit vollem Funktionsumfang auf G5-basierten und 64-Bit-fähigen Intel Macintosh-Computern.

Beginnend mit Snow Leopard verwendet Mac OS X auf einigen Intel-Computern einen 64-Bit-Kernel.

Auch - CPU, die "64-Bit" sind, haben noch Teile, die nur 32 Bit breit sind. In ähnlicher Weise weisen "32-Bit" -CPU auch Teile auf, die 128 Bit (oder mehr) breit sind. Aus diesem Grund konzentrieren sich die meisten Benutzer eher auf den Adressraum eines bestimmten Programms als darauf, ob die Hardware "64-Bit" ist oder wie viel davon "64-Bit" ist.

Es spielt wirklich keine Rolle, bis Sie zu einer genaueren Frage kommen. Warum fragst du danach? Ich hoffe, dieser allgemeine Überblick hilft Ihnen dabei, zu verstehen, was die Leute wirklich meinen, wenn sie ihre Fragen diskutieren.

bmike
quelle
10

In einem Terminalfenster eingeben uname -m. Wenn Sie x86_64 bekommen, dann haben Sie 64-Bit-OSx ausgeführt.

Die vollständige Ausgabe sieht ungefähr so ​​aus:

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
quelle
1
Während dies funktioniert, gibt es einige weitaus einfachere Optionen, bei denen kein Anfänger das Terminal betreten muss.
jbharper2
Auch dies gibt Ihnen nur den Bogen des Kernels. Auf einem Core2Duo (einer 64-Bit-CPU) führen Sie nur dann einen 32-Bit-Kernel aus, wenn das Boot-ROM dieses Computers nicht 64-Bit-sauber ist. Sie können (und sollten) weiterhin eine 64-Bit-Eclipse auf diesem Computer verwenden.
MacLemon
1
Das Gute an dieser Lösung ist jedoch, dass sie plattformübergreifend ist (obwohl ich weiß, dass dies der Apple Stackexchange-Bereich ist).
Sridhar Sarnobat
6

Gehen Sie zum Apple-Menü und wählen Sie "Über diesen Mac". Wenn Sie einen Core Duo-Prozessor haben, haben Sie eine 32-Bit-CPU. Andernfalls (Core 2 Duo, Xeon, i3, i5, i7 usw.) verfügen Sie über eine 64-Bit-CPU.

Mac OS X ist ziemlich bissunabhängig, daher sollte beides funktionieren. Verwenden Sie im Zweifelsfall die 32-Bit-Version.

CajunLuke
quelle
3
Der Vollständigkeit halber gab es im allerersten Intel Mac mini ( „Anfang 2006“ ) auch den 32-bt-Prozessor „Core Solo“ .
Chris Johnsen
3

Der archBefehl ohne Argumente zeigt den Architekturtyp der Maschine an.

Die Ergebnisse (von der arch(1)Manpage):

i386    32-bit intel
ppc     32-bit powerpc
ppc64   64-bit powerpc
x86_64  64-bit intel
Michael Granger
quelle
3
Oh nein. Ich habe einen Core i7-MBP und habe den 32-Bit-Kernel aktiviert, da die VPN-Software meines Arbeitgebers dies erfordert, und arch gibt i386 für mich zurück. Mein Prozessor ist 64-Bit und ich habe viele laufende 64-Bit-Prozesse, so dass dies nur zu sagen scheint, was der Kerneltyp ist.
David
1
Was David gesagt hat - dies sagt Ihnen nur, welcher Kernel läuft. Wie David verwende ich einen 32-Bit-Kernel, weil ich einen Kext benötige, der dies erfordert, aber ich kann problemlos 64-Bit-Benutzerprozesse ausführen.
Sherm Pendley
3

Führen Sie einfach Activity Monitor aus und suchen Sie den Prozess mit dem Namen kernel_task . Dann schauen Sie in die Spalte Art. Wenn Intel angezeigt wird , verwenden Sie derzeit den 32-Bit-Modus. Wenn Intel (64-Bit) angezeigt wird , wird, wie im Text angegeben, der 64-Bit-Modus ausgeführt.

Hinweis: Sie müssen Alle Prozesse in der Dropdown-Liste neben dem Suchfeld (Filter) anzeigen.

Dann können Sie die Antwort von @Nate Bird auf Ihren Prozessor und die unterstützten Modi überprüfen .

Bisko
quelle
1
Der Kernel-Modus spielt für das Userland keine Rolle. OS X führt problemlos 64-Bit-Prozesse unter einem 32-Bit-Kernel aus oder umgekehrt.
Gordon Davisson
Die ursprüngliche Frage war, ob das Betriebssystem 32 oder 64 Bit ist, nicht die unterstützten Architekturen des Prozessors :)
Bisko
Der Kernel ist nicht das Betriebssystem, und der Modus des Kernels spielt keine Rolle für das, was der Fragesteller tatsächlich wissen möchte: Welche Version von Eclipse ist geeignet?
Gordon Davisson
Ich mag die Antwort von Bisko, weil es mir geholfen hat, einen Weg zu finden, um sicher zu sagen, was ich gerade treibe - 32-Bit oder 64-Bit. Ich habe eine Version von VMWare, die nur in 32-Bit-Version ausgeführt wird. Seit dem Upgrade auf Lion wird in 64-Bit-Version gebootet. Daher muss ich beim Booten die 3 + 2-Tasten neu starten und gedrückt halten, damit sie in 32-Bit-Version ausgeführt wird -Bit-Modus. Ohne VMWare zu starten, ist es schön zu wissen, welchen Modus ich gerade verwende. Es scheint, dass einige meiner anderen Anwendungen auch im 32-Bit-Modus besser laufen. Vielen Dank für all die unterschiedlichen Antwortwinkel auf die Hauptfrage.
Bisko ist korrekt, wollte aber nur Apps> Dienstprogramme> Aktivitätsüberwachung hinzufügen. Gehen Sie in der CPU-Anzeige der Aktivitätsüberwachung zum Hauptmenü Ansicht> Spalten> Art sowie Ansicht> Alle Prozesse . Meins liest 64bit auf den meisten laufenden Prozessen, nicht nur auf der kernel_task. 09 'MacBook, Yosemite.
2

OS X verfügt nicht über einen 32/64-Bit-Modus. Es wird einfach jedes Programm im "besten" verfügbaren Modus ausgeführt, je nachdem, was die CPU kann und was das Programm unterstützt. Viele OS X-Programme werden im universellen Binärformat geliefert. Das bedeutet, dass mehrere Versionen (eine Kombination aus PowerPC 32-Bit, PowerPC 64-Bit, Intel 32-Bit und Intel 64-Bit) in derselben Datei enthalten sind.

Eclipse kommt anscheinend nicht auf diese Weise. Sie müssen sich also entscheiden, welche Version Sie herunterladen möchten. Ich kenne es nicht gut genug, um zu wissen, ob es im gleichen Modus ausgeführt werden muss wie das, was Sie zu debuggen versuchen. Wenn dies der Fall ist, führen Sie Ihr Programm aus und suchen Sie es in der Aktivitätsüberwachung, um festzustellen, in welchem ​​Modus es ausgeführt wird. Wenn sich Eclipse nicht im selben Modus befinden muss (oder der Java-Code nur in Eclipse ausgeführt wird), können Sie eine der beiden Methoden verwenden eine (es sei denn, Sie haben eine 32-Bit-CPU, dh Core Solo oder Core Duo).

Gordon Davisson
quelle
1

Im Terminal ausführen:

sysctl hw.cpu64bit_capable

Wenn dies der 1Fall ist, weist Ihr Computer eine 64-Bit-Architektur auf.

Oder verwenden Sie einen archBefehl, der entweder i386(32-Bit Intel) oder x86_64(64-Bit Intel) zurückgeben kann.

Kenorb
quelle
Laufen archgibt "i386". In der Zwischenzeit sysctl hw.cpu64bit_capablegibt 1. Was ist es dann?
Gajus
0

Auf der Kommandozeile könnte man ...

(
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

Wie bereits von Gordon Davisson erwähnt, können Fat Binaries sowohl 32-Bit- als auch 64-Bit-ausführbare Dateien eines Programms enthalten (siehe auch Multiple Architecture, Single Build ).

file /mach_kernel /usr/lib/libSystem.dylib
jan
quelle
1
hehe, danke für den kurzen weg! : -DI bevorzugen nur eine getconf LONG_BITvon terminal, aber es könnte natürlich nicht so Jedi-Weg sein
Farside
0

Führen Sie uname -adie Shell aus, um Details zum Kernel anzuzeigen. Sie können RELEASE_X86_64 x86_64für 64-Bit-Version sehen

ViniciusC
quelle
0

Öffnen Sie Terminal.app und führen Sie den folgenden Befehl aus:

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

kaiky25
quelle