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?
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?
Antworten:
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 .
Führen Sie dies in der Befehlszeile aus:
getconf LONG_BIT
echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
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
Eine andere Option ist die Verwendung sysctl
in 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.
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.
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
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.
Der arch
Befehl 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
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 .
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).
Im Terminal ausführen:
sysctl hw.cpu64bit_capable
Wenn dies der 1
Fall ist, weist Ihr Computer eine 64-Bit-Architektur auf.
Oder verwenden Sie einen arch
Befehl, der entweder i386
(32-Bit Intel) oder x86_64
(64-Bit Intel) zurückgeben kann.
arch
gibt "i386". In der Zwischenzeit sysctl hw.cpu64bit_capable
gibt 1
. Was ist es dann?
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
getconf LONG_BIT
von terminal, aber es könnte natürlich nicht so Jedi-Weg sein