Voglio installare un nuovo software con queste due versioni e devo sapere quale installare.
Come posso riconoscere le capacità a 32 o 64 bit del mio Mac?
Voglio installare un nuovo software con queste due versioni e devo sapere quale installare.
Come posso riconoscere le capacità a 32 o 64 bit del mio Mac?
Risposte:
Per sapere se stai eseguendo il kernel a 32 o 64 bit (che è importante per alcuni driver di dispositivo), avvia System Profiler e fai clic sull'intestazione Software nella sezione Contenuti .
La riga Kernel 64 and Extensions dirà Sì se si esegue il kernel 64 bit e No se si esegue il kernel 32 bit.
Nota: Mac OS X 10.6 Snow Leopard è l'ultima versione che può eseguire un Mac Intel a 32 bit, Mac OS X 10.7 Lion e versioni successive sono, per impostazione predefinita, 64 bit. Inoltre, System Profiler è stato rinominato in Informazioni di sistema in OS X 10.7.
Esegui questo dalla riga di comando:
getconf LONG_BIT
echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
Questo articolo della knowledge base di Apple dovrebbe fornirti la risposta corretta in quanto dipende dall'età del tuo MacBook Pro.
Fondamentalmente se hai qualcosa di più recente di un MacBook del 2008 hai un processore a 64 bit e un sistema operativo ...
Ecco la tabella dei cheat
Un'altra opzione è usare sysctl
in una shell:
$ sysctl hw.cpu64bit_capable
Mostrerà 1 se la CPU è in grado di eseguire programmi a 64 bit e 0 altrimenti.
Come avrai visto da tutte le risposte, i mac sono diversi dagli altri sistemi operativi (SO) in quanto la linea di divisione a 32 bit e 64 bit è tutta sfocata. È possibile eseguire codice a 32 bit su una CPU a 64 bit.
Una buona panoramica di questo argomento è nella Guida alla transizione a 64 bit di Apple. Tieni presente che questa transizione è stata avviata prima che Tiger fosse rilasciato il 29 aprile 2005 e continua ancora.
Che cos'è il calcolo a 64 bit?
Ai fini del presente documento, l'elaborazione a 64 bit è definita come il supporto per uno spazio di indirizzi a 64 bit, ovvero il supporto per l'uso simultaneo di oltre 4 GB di memoria da parte di un singolo programma eseguibile, né più né meno.
A partire dalla versione 10.4, Mac OS X supporta eseguibili a riga di comando a 64 bit su computer Macintosh basati su G5 e computer Intel Macintosh a 64 bit.
A partire dalla versione 10.5, Mac OS X supporta applicazioni a 64 bit con funzionalità complete su computer Intel Macintosh basati su G5 e con capacità a 64 bit.
A partire da Snow Leopard, Mac OS X utilizza un kernel a 64 bit su alcuni computer Intel.
Inoltre, le CPU "64-bit" hanno ancora parti larghe solo 32 bit. Allo stesso modo, le CPU "32 bit" hanno anche parti larghe 128 bit (o più). Questo è il motivo per cui la maggior parte delle persone si concentra sullo spazio degli indirizzi per un programma specifico piuttosto che se l'hardware è "64 bit" o quanto di esso è "64 bit"
Non importa davvero fino a quando non si arriva a una domanda più specifica. Perché me lo chiedi? Spero che questa visione generale ti aiuti a capire cosa significano veramente le persone quando discutono delle loro idee.
In una finestra di terminale digitare uname -m
. Se ottieni x86_64 hai OSx a 64 bit in esecuzione.
L'output completo è simile al seguente:
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
Vai al menu Apple e seleziona "Informazioni su questo Mac". Se hai un processore Core Duo, hai una CPU a 32 bit. Altrimenti (Core 2 Duo, Xeon, i3, i5, i7, qualsiasi altra cosa), hai una CPU a 64 bit.
Mac OS X è abbastanza agnostico da testimone, quindi entrambi dovrebbero funzionare. In caso di dubbi, utilizzare la versione a 32 bit.
Il arch
comando senza argomenti visualizzerà il tipo di architettura della macchina.
I risultati (dalla arch(1)
manpage):
i386 32-bit intel
ppc 32-bit powerpc
ppc64 64-bit powerpc
x86_64 64-bit intel
Basta eseguire Activity Monitor e trovare il processo chiamato kernel_task . Quindi guarda la colonna Kind. Se dice Intel , allora sei attualmente in modalità 32 bit. Se dice Intel (64 bit) , quindi come dice il testo, si esegue la modalità 64 bit.
Nota: è necessario mostrare Tutti i processi , dal menu a discesa accanto alla casella di ricerca (filtro).
Quindi puoi controllare la risposta di @Nate Bird su quale processore hai e le modalità supportate per esso.
OS X non ha una modalità complessiva a 32/64 bit; esegue semplicemente ogni programma nella "migliore" modalità disponibile, in base a ciò che la CPU è in grado di supportare e al supporto del programma. Molti programmi OS X sono disponibili in formato binario universale, il che significa che hanno più versioni (alcune combinazioni di PowerPC a 32 bit, PowerPC a 64 bit, Intel a 32 bit e Intel a 64 bit) incluse nello stesso file.
Apparentemente Eclipse non arriva così, quindi devi decidere quale versione scaricare. Non ne ho abbastanza familiarità per sapere se deve funzionare nella stessa modalità di ciò che stai cercando di eseguire il debug; in tal caso, esegui il programma e cercalo in Activity Monitor per vedere in quale modalità è in esecuzione. Se Eclipse non deve essere nella stessa modalità (o il codice Java viene eseguito solo all'interno di Eclipse), puoi utilizzare uno (a meno che non si utilizzi una CPU a 32 bit, ovvero Core Solo o Core Duo).
Esegui nel terminale:
sysctl hw.cpu64bit_capable
Se lo dà 1
, significa che il tuo computer ha un'architettura a 64 bit.
Oppure usa un arch
comando che potrebbe restituire i386
(Intel a 32 bit) o x86_64
(Intel a 64 bit).
arch
dà "i386". Nel frattempo, sysctl hw.cpu64bit_capable
dà 1
. Allora che cos'è?
Sulla riga di comando è possibile eseguire ...
(
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
Come già affermato da Gordon Davisson, i binari fat possono includere eseguibili sia a 32 che a 64 bit di un programma (vedere anche Architettura multipla, Build singolo ).
file /mach_kernel /usr/lib/libSystem.dylib
getconf LONG_BIT
terminale, ma potrebbe non essere quella via Jedi, ovviamente