Como verificar se meu Mac baseado em Intel é de 32 ou 64 bits


52

Quero instalar um novo software que tenha essas duas versões e preciso saber qual instalar.

Como posso saber os recursos de 32 ou 64 bits do meu Mac?


Qual versão do sistema operacional você está executando? Quando o seu MacBook Pro foi construído?
Daniel

5
É bem simples Vá para o logotipo da Apple e selecione "Sobre este Mac". Se diz Core Duo, então é 32 bits. Se estiver escrito Core 2 Duo, é de 64 bits (ignore o problema do kernel de 32 bits, ele executará o software de 64 bits). Fisicamente, se o seu MBP possui um teclado preto, é absolutamente de 64 bits. Os MBPs originais tinham um teclado prateado e as unidades de 32 bits foram praticamente substituídas no início de 2007. Portanto, se você comprou seu modelo mesmo no final de 2007, é um Mac capaz de executar 64 bits. Além disso, se você estiver executando o Lion, terá 64 bits (pois o Lion não roda em Macs de 32 bits).

Respostas:


20

Para saber se você está executando o kernel de 32 ou 64 bits (o que é importante para alguns drivers de dispositivo), inicie o System Profiler e clique no cabeçalho Software na seção Conteúdo .

A linha Kernel e extensões de 64 bits dirá Sim se você estiver executando o kernel de 64 bits e Não se estiver executando o kernel de 32 bits.

Nota: O Mac OS X 10.6 Snow Leopard é a última versão que um Mac Intel de 32 bits pode executar, o Mac OS X 10.7 Lion e superior são, por padrão, 64 bits. Além disso, o System Profiler foi renomeado para System Information no OS X 10.7.


3
O System Profiler não está instalado na minha máquina - ou o Spotlight não pode encontrá-lo -, então esta resposta não funcionará para todos.
precisa

Qual é a sua máquina e sistema operacional? O nome foi alterado para "Informações do sistema" há um tempo atrás (está na pasta Utilitários).
Paul Lefebvre

5
Encontrei o aplicativo Informações do sistema. Obrigado. Seria bom atualizar a resposta em benefício de outras pessoas. Infelizmente, não encontrei o item "Kernel and Extensions de 64 bits" na seção Software do aplicativo System Information. Estou na v10.12.2.
precisa

3
Se você estiver usando a versão 10.12, o seu Mac é de 64 bits. A última versão do Mac OS X que pode ser executada em um Mac de 32 bits foi o 10.6 Snow Leopard.
Paul Lefebvre

Eu tenho o Mac OS X 10.7 Lion e a configuração "Kernel e extensões de 64 bits: não". Mas tenho certeza de que tenho um MacBook de 64 bits, como verifiquei pelo método da resposta de Greg Cain. Strange
cawecoy 5/17

108

Execute isso na linha de comando:

getconf LONG_BIT

7
Esta é a melhor resposta na minha opinião. E uma sugestão: coloque isso no seu perfil:echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
Sridhar Sarnobat 29/11

7
Esta resposta deve ser a resposta correta
Victor Grazi

29

Este artigo da Apple deve fornecer a resposta correta, pois depende da idade do seu MacBook Pro.

Basicamente, se você tem algo mais novo que um MacBook de 2008, possui um processador de 64 bits e sistema operacional…

Aqui está a tabela de truques

Processadores Apple


Isso não conta a história completa, mas é um começo. Eu tinha um Macbook com um Core 2 Duo de 64 bits, mas firmware / EFI de 32 bits, resultando em uma pilha que nunca era totalmente de 64 bits.
08

Isso é verdade. A linha é tecnicamente embaçada porque o kernel pode estar executando apenas no modo de 32 bits, mas todo o resto é de 64 bits. Não sei exatamente quando, mas todos os novos Macs agora são 100% compatíveis com 64 bits - embora ainda possam executar aplicativos de 32 bits.
Nate Bird

De acordo com outro artigo da base de conhecimento , o MacBook Pro do início de 2008 até meados de 2010 suporta o kernel de 64 bits, mas não o usa por padrão.
Cristian Ciupitu

17

Outra opção é usar sysctlem um shell:

$ sysctl hw.cpu64bit_capable

Ele mostrará 1 se a CPU for capaz de executar programas de 64 bits e 0 caso contrário.


12

Como você pode ver em todas as respostas - os macs são diferentes de outros sistemas operacionais (SO), pois a linha divisória de 32 e 64 bits está embaçada. Você pode executar um código de 32 bits em uma CPU de 64 bits.

Uma boa visão geral deste assunto está no Guia de transição de 64 bits da Apple. Lembre-se de que essa transição foi iniciada antes do Tiger ser lançado em 29 de abril de 2005 e ainda está acontecendo.

O que é computação de 64 bits?

Para os fins deste documento, a computação de 64 bits é definida como suporte para um espaço de endereço de 64 bits - ou seja, suporte para o uso simultâneo de mais de 4 GB de memória por um único programa executável - nem mais nem menos.

A partir da versão 10.4, o Mac OS X suporta executáveis ​​de linha de comando de 64 bits em computadores Macintosh baseados em G5 e computadores Intel Macintosh com capacidade de 64 bits.

A partir da versão 10.5, o Mac OS X suporta aplicativos completos de 64 bits em computadores Intel Macintosh baseados em G5 e com capacidade de 64 bits.

A partir do Snow Leopard, o Mac OS X usa um kernel de 64 bits em alguns computadores Intel.

Além disso - a CPU de "64 bits" ainda possui partes com apenas 32 bits de largura. Da mesma forma, a CPU de "32 bits" também possui partes com 128 bits (ou mais) de largura. É por isso que a maioria das pessoas se concentra no espaço de endereço de um programa específico, em vez de saber se o hardware é "64 bits" ou quanto é "64 bits"

Realmente não importa até você chegar a uma pergunta mais específica. Por que você está perguntando sobre isso? Espero que esta visão geral ajude você a entender o que as pessoas realmente querem dizer quando estão discutindo suas partes.


10

Em uma janela de terminal, digite uname -m. Se você obtiver x86_64 , terá o OSx de 64 bits em execução.

A saída completa é mais ou menos assim:

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
Enquanto isso funcionará, existem várias opções muito mais simples que não exigem que um usuário iniciante entre no Terminal.
jbharper2

Além disso, isso apenas fornece o arco do kernel. Em um Core2Duo (uma CPU de 64 bits), você ainda executa apenas um kernel de 32 bits se o bootrom dessa máquina não estiver limpo de 64 bits. Você ainda pode (e deve) usar um Eclipse de 64 bits nessa máquina.
MacLemon

1
Mas o bom dessa solução é que ela é multiplataforma (embora sim, eu sei que essa é a área do Apple Stackexchange).
Sridhar Sarnobat 29/11

6

Vá para o menu Apple e selecione "Sobre este Mac". Se você possui um processador Core Duo, possui uma CPU de 32 bits. Caso contrário (Core 2 Duo, Xeon, i3, i5, i7, qualquer outra coisa), você terá uma CPU de 64 bits.

O Mac OS X é bastante independente de testemunhas, portanto, qualquer um deve funcionar. Se ainda estiver em dúvida, use a versão de 32 bits.


3
Para completar, também havia o processador "Core Solo" de 32 bits usado no primeiro Intel Mac mini ( "Início de 2006" ).
Chris Johnsen

3

O archcomando sem argumentos exibirá o tipo de arquitetura da máquina.

Os resultados (da página de arch(1)manual):

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

3
Oh não. Eu tenho um Core i7 MBP e tenho o kernel de 32 bits ativado, pois o software VPN do meu empregador exige, e o arch retorna o i386 para mim. Meu processador é de 64 bits e eu tenho muitos processos de 64 bits em execução, portanto, isso parece apenas dizer qual é o tipo de kernel.
David

1
O que David disse - isso apenas diz qual kernel está sendo executado. Como David, estou usando um kernel de 32 bits porque preciso de um kext que exija, mas posso executar processos de usuário de 64 bits sem nenhum problema.
Sherm Pendley

3

Basta executar o Monitor de atividades e encontrar o processo chamado kernel_task . Então olhe para a coluna Kind. Se estiver escrito Intel , você está executando o modo de 32 bits. Se estiver escrito Intel (64 bits) , como diz o texto, você está executando o modo de 64 bits.

Nota: Você deve mostrar Todos os processos , no menu suspenso ao lado da caixa de pesquisa (filtro).

Depois, você pode verificar a resposta do @Nate Bird em qual processador você possui e os modos suportados.


1
O modo do kernel realmente não importa para a terra do usuário; O OS X felizmente executará processos de 64 bits em um kernel de 32 bits ou vice-versa.
Gordon Davisson

A pergunta original era de cerca de se o sistema operacional é de 32 ou 64 bits, não as arquitecturas de suporte do processador :)
Bisko

O kernel não é o sistema operacional e o modo do kernel é irrelevante para o que o solicitante realmente deseja saber: qual versão do Eclipse é apropriada?
Gordon Davisson

Gosto da resposta do bisko porque me ajudou a encontrar uma maneira de saber com certeza o que estou executando no momento - 32 ou 64 bits. Eu tenho uma versão do VMWare que será executada apenas em 32 bits e, desde a atualização para o Lion, ele é inicializado em 64 bits, então eu preciso reiniciar e manter pressionadas as teclas 3 + 2 durante a inicialização para executá-lo em 32 bits. modo de bits. Sem realmente iniciar o VMWare, é bom saber em qual modo estou executando. Parece que alguns dos meus outros aplicativos funcionam melhor também no modo de 32 bits. Obrigado por todos os diferentes ângulos de resposta à pergunta principal.

O bisko está correto, mas você apenas deseja adicionar Aplicativos> Utilitários> Monitor de Atividade , no monitor de atividade que está vendo a CPU, vá para o menu principal, Exibir> Colunas> Tipo , bem como Exibir> Todos os Processos . O meu lê 64 bits na maioria dos processos em execução, não apenas no kernel_task. 09 'MacBook, Yosemite.

2

O OS X não possui um modo geral de 32/64 bits; simplesmente executa cada programa no "melhor" modo disponível, com base no que a CPU é capaz e no que o programa suporta. Muitos programas OS X vêm em formato binário universal, o que significa que eles têm várias versões (alguma combinação de PowerPC de 32 bits, PowerPC de 64 bits, Intel de 32 bits e Intel de 64 bits) incluídas no mesmo arquivo.

Aparentemente, o Eclipse não vem dessa maneira, então você precisa decidir qual versão baixar. Não estou familiarizado o suficiente para saber se ele precisa ser executado no mesmo modo que o que você está tentando depurar; Nesse caso, execute seu programa e procure-o no Activity Monitor para ver em que modo ele está sendo executado. Se o Eclipse não precisar estar no mesmo modo (ou se o código Java for executado apenas dentro do Eclipse), você poderá usar: um (a menos que você esteja em uma CPU de apenas 32 bits, ou seja, Core Solo ou Core Duo).


1

Execute no Terminal:

sysctl hw.cpu64bit_capable

Se der 1, significa que o seu computador possui arquitetura de 64 bits.

Ou use um archcomando que possa retornar i386(Intel de 32 bits) ou x86_64(Intel de 64 bits).


Correr archdá "i386". Nesse meio tempo, sysctl hw.cpu64bit_capable1. Então qual é?
Gajus

0

Na linha de comando, você pode executar ...

(
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

Como já declarado por Gordon Davisson, os binários gordos podem incluir os executáveis ​​de 32 e 64 bits de um programa (consulte também Arquitetura Múltipla, Construção Única ).

file /mach_kernel /usr/lib/libSystem.dylib

1
hehe, obrigado por um caminho curto! : DI preferem apenas um getconf LONG_BITde terminal, mas pode não ser tão Jedi-way, é claro
Farside

0

Execute uname -ano shell para mostrar detalhes sobre o kernel. Você pode ver RELEASE_X86_64 x86_64a versão de 64 bits


0

Abra Terminal.app e execute o comando abaixo:

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.