Quais são as diferenças entre 32 e 64 bits e qual devo escolher?


142

Qual é a diferença entre o Ubuntu de 32 e 64 bits? Ouvi dizer que a plataforma de 64 bits tem um desempenho melhor e pode detectar mais de 4 GB de RAM. Além disso, enquanto alguns aplicativos ainda não foram portados para 64 bits, ia32-libspermite que uma máquina de 64 bits os execute.

Se sim, por que não promover 64 bits por 32 bits?




Respostas:


147

Acredito que a principal questão ao escolher entre 32 e 64 bits não é "Meu processador suporta 64 bits - nesse caso, devo usar 64 porque isso é duas vezes melhor", mas "Quanta memória tenho?" .

Os programas de 64 bits usam cerca de 50% mais memória do que seus equivalentes de 32 bits. Os resultados disso são:

  • menos código / dados podem caber nos caches do processador -> mais erros de cache -> seu processador super-rápido aguarda mais o controlador de memória buscar dados da RAM. O processador também precisa ler mais dados porque é mais inchado.

  • O Linux usa RAM não alocada para armazenar em cache discos. Menos memória livre disponível -> menos espaço para caches de disco -> acesso mais lento ao disco

  • Uma vez que você está sem RAM e o sistema começa a trocar - o acesso ao disco é milhares de vezes mais lento que a RAM, portanto, todos os benefícios potenciais do código de 64 bits (veja abaixo) saem da janela.

Por outro lado, no modo de 64 bits, o processador possui mais registros, portanto, não é necessário acessar a memória, pois também com freqüência alguns cálculos (números de 64 bits etc.) são mais eficientes. Geralmente, o código que não é restrito à memória é executado um pouco mais rápido no modo de 64 bits.

Portanto, se o seu sistema tiver, digamos, 2 GB de RAM ou menos, eu definitivamente escolheria 32 bits. Mais do que 4GiB - os benefícios de 64 bits estão se tornando mais proeminentes. Em torno do 4GiB existe uma "zona cinza" - você mesmo precisa fazer uma escolha.

Aqui estão as capturas de tela de um Ubuntu baunilha (bastante antigo) rodando em um VirtualBox com 1GiB de RAM:

32 bits: usa 388 MiB de RAM logo após a inicialização, sem aplicativos adicionais em execução (na captura de tela, 397780KiB, que é 388MiB)

Ubuntu de 32 bits

64 bits: usa 491 MiB de RAM (na captura de tela, 503452KiB = 491MiB)

Ubuntu de 64 bits

Além disso, em meus testes, um aplicativo Web escrito em Python utilizou até 60% mais memória em uma máquina de 64 bits, o que resultou em um conjunto de testes em execução em 380 segundos em uma máquina de 32 bits, mas demorando 523 segundos em uma máquina de 64 bits. bit um (ambos com 1 GiB de RAM). Se as máquinas não fossem limitadas à RAM, os resultados provavelmente seriam diferentes (como mostram os testes do phoronix).

Aqui estão alguns testes mais completos e recentes: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

mem grátis mem usado swap usado

Basicamente, é como desistir de 30% da sua RAM em troca de um possível ganho de 10% da velocidade da CPU.


1
Então, de 32 bits, 388M; 64 bits, 498M ou cerca de 110M a mais e isso representa 30% de 2G ??
irracional John

22
Eu concordo com os números, mas discordo da conclusão. 30% menos RAM para 10% de desempenho aprimorado tornam o negócio do século! Além disso, é muito mais barato colocar RAM extra do que substituir a CPU.
Oli

1
Sim, eu não discordo disso, mas eu o colocaria mais forte e iria um pouco mais longe, apenas sugerindo 32 bits quando não é suportado pela CPU ou não é viável atualizar a RAM (é antiga ou você está prestes a jogá-la fora) . Pessoas com um computador modernista com <= 2 GB devem gastar US $ 20-30 no ebay e ter 4 GB. Um aumento de 10% vale isso.
Oli

1
Estou curioso para saber como navegadores modernos, com muitas guias abertas e javascript aqui. Costumo me deparar com swap (mesmo com 8 GB de RAM), abrindo muitas guias e sites modernos usam muitas bibliotecas javascript etc. Como a memória e a velocidade da CPU se comparam ao uso pesado de cromo ou firefox?
Nealmcb 4/14

2
Isso ainda é verdade em 2015? Quero instalar o Ubuntu 14.04 em um tablet Atom com 1 GB de memória e uma CPU lenta (com capacidade de 64 bits), portanto, depois de ler isso, tenho uma tendência forte para 32 bits. Alguma coisa que vale a pena considerar mudou desde a publicação desta resposta? Especialmente em termos de consumo de memória base de 64 bits em comparação aos 32 bits, uma vez que a memória seria o maior gargalo neste sistema.
Andreas Hartmann

22

Se você não quiser saber os detalhes técnicos, selecione a versão de 32 bits recomendada.

64 bits é geralmente mais rápido, mesmo que seja objetivamente difícil de perceber. Isso tem menos a ver com a largura de dados de 64 bits, mas com a disponibilidade de 16 a 8 registradores comuns de CPU em todo o conjunto de instruções. A desvantagem de desperdiçar mais memória para gerenciamento e indicadores maiores é, portanto, praticamente nivelada.

O problema prático: nem todo mundo tem uma CPU compatível com AMD64. A promoção de 64 bits sobre a versão padrão do i686 levaria a mais frustração do usuário. Portanto, para os próximos anos, é menos confuso apresentar a versão de 32 bits para o usuário médio. Não é exatamente um problema para quem sabe, já que a versão de 64 bits está prontamente disponível. E nós, usuários do amd64, não temos nenhuma desvantagem nessa situação, exceto pelo download inicial. Todos os pacotes estão disponíveis nas duas arquiteturas.

Sob as circunstâncias, a página de download do Ubuntu parece boa para mim. Ele diz "32 bits (recomendado)", mas "recomendado" se traduz em "menos problemas, se você não souber todos os detalhes técnicos do seu computador". Para a página de download da edição do netbook, não há nem a opção, porque alguns processadores Atom da Intel são de 32 bits apenas em 2010!
Então, em conclusão, acho que evitar os problemas de compatibilidade ainda é necessário. No entanto, concordo que deve haver pelo menos uma nota de rodapé brilhante ao longo das linhas que -64 seja mais rápida que -32 e recomenda SE (MAS SOMENTE SE) o sistema de destino a suporta.


1
Ii será interessante quando os novos binários x32 e a ABI forem suportados, quantos aplicativos de 64 bits mudarão para essa ABI en.wikipedia.org/wiki/X32_ABI para usar menos recursos e memória e usar totalmente a CPU.
Emanuele

Se 32 bits é recomendado, por que o Wubi prefere 64 bits ?
Dan Dascalescu

1
nb 64 bits pode agora ser recomendado ...
Wilf

5
Nota aos leitores: Esta resposta foi escrita há mais de 4 anos. Atualmente, eu não recomendaria a instalação de 32 bits e acho que o Ubuntu não recomendaria mais.
thomasrutter

Agora é uma questão que vai resolver-se em um pouco menos de um ano, com 64 bits constrói provavelmente se tornando o padrão após Ubuntu 16.04 ..
mario

18

Os termos de 32 e 64 bits se referem à maneira como a CPU de um computador lida com informações. A versão de 64 bits lida com grandes quantidades de RAM com mais eficiência do que um sistema de 32 bits. 1

  • Para executar um sistema operacional de 64 bits, você precisa de suporte da CPU de 64 bits.
    • Para executar um aplicativo de 64 bits, você precisa do suporte do sistema operacional de 64 bits e da CPU de 64 bits.

A regra geral é que 32 bits (SO e aplicativo) serão executados em 64 bits, mas 64 bits (SO e aplicativo) não serão executados em 32 bits:

  • Um sistema operacional de 32 bits será executado em um processador de 32 ou 64 bits sem nenhum problema.
  • Um aplicativo de 32 bits será executado em um sistema operacional de 32 ou 64 bits sem nenhum problema.
  • Mas um aplicativo de 64 bits será executado apenas em um sistema operacional de 64 bits e um sistema operacional de 64 bits será executado apenas em um processador de 64 bits.

É necessária uma CPU compatível de 64 bits para instalar um SO de 64 bits. Verifique com o fabricante do seu PC para descobrir se o seu sistema é compatível com 64 bits.

Os sistemas de 32 bits têm um limite de memória de 4 Gigabytes de RAM, o que significa que eles não podem endereçar mais de 4 GB de RAM, mesmo que mais esteja instalado no sistema (nem todos serão usados). As soluções alternativas estão disponíveis, mas são difíceis de executar para um usuário comum.

Nota: O Ubuntu 12.10 e mais recente suportam o PAE automaticamente. Antes da 12.10, você tinha a opção de escolher o suporte ao PAE, dependendo da sua CPU. O PAE estende o máximo de RAM de 32 bits para 64 GB; mais informações podem ser encontradas aqui.

As edições de 64 bits têm vantagens adicionais, incluindo uma maior largura de banda, DEP (prevenção de execução de dados) ativada por hardware e melhor proteção do Kernel.

A maioria dos aplicativos de 32 bits continuará funcionando em sistemas de 64 bits, mas alguns aplicativos não funcionam de todo ou serão mais lentos.

Para obter mais informações, você pode ver 32 e 64 bits.

1 Fonte: Microsoft


@ Alvar A CPU tem que suportar PAE. Em geral, um sistema adequado de 64 bits é recomendado se você tiver 4 Gb ou mais de memória e / ou quiser obter todos os benefícios da arquitetura de 64 bits.
Mitch

Eu entendo, mas como eu disse, a CPU precisa dar suporte ao PAE para que ele funcione . Por exemplo, o Atom não suporta PAE.
Mitch

Apenas adicionei isso como uma nota na resposta.
Mitch

adicionou uma explicação do que o PAE é com a fonte. Espero que você esteja feliz com isso.
Alvar 27/05

10

Como apontado aqui em Phoronix : "Com a situação de múltiplos arcos do Ubuntu sendo esclarecida, a maioria dos aplicativos e plug-ins agora funciona bem em 64 bits (como Adobe Flash e Java), e os 64 bits geralmente são muito mais rápidos que 32" -bit, realmente não há grandes razões para não passar para a versão x86_64. "

Embora seja discutido se 64 bits será indicado como padrão em vez de 32 bits, acho que você tem algum ganho de desempenho com o primeiro. Veja esses benchmarks .

E uma palavra da sua memória RAM "baixa" da Phoronix : "Alguns desenvolvedores do Ubuntu têm se preocupado muito com a possibilidade de netbooks de 32 bits ainda estarem lá e com sistemas que possuem apenas 2 GB de RAM, onde o uso do software x86_64 pode levar à execução com pouca memória e, portanto, maior uso de SWAP. No entanto, para a maioria dos usuários, eles são muito melhores em um mundo de 64 bits ".

Talvez você possa instalá-lo e observar se o sistema usa a troca com frequência.


3

Eu olhei para isso no Ubuntu Precise LTS há um tempo. Aqui estão alguns resultados de algumas análises que eu executei:

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/low-memory-systems/readme.txt

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/hpmini-and-x220-tests/results-3/results.txt

Basicamente, se você tem 4 GB ou menos, tudo bem, por mais de 4 GB considere usar i386-pae ou amd64. Os sistemas de 64 bits consomem mais memória (por exemplo, os ponteiros têm um tamanho de 64 bits), mas você pode obter uma melhora no desempenho dos sistemas de 64 bits devido às otimizações que usam cópias de 64 bits ou aos registros extras da CPU disponíveis no modo de 64 bits.


3

Para mim, o mais importante foi o fato de você não poder usar o sistema de arquivos ZFS em sistemas operacionais de 32 bits, porque é simplesmente instável por causa dos limites de vmalloc de sistemas operacionais de 32 bits (independentemente do PAE ou não do PAE). Essa foi uma razão para eu reinstalar em 64 bits e nunca mais olhei para trás. Até a NVIDIA tem poucas linhas sobre o vmalloc nas páginas de "solução de problemas", terminando incentivando os usuários a mudar para os kernels de 64 bits.

Há um limite de endereçamento de 1 GB no modo de 32 bits, portanto, mesmo que ele possa usar até 4 GB, apenas 1 GB é chamado de "baixo" e o restante é "memória alta", o que não é tão geral. E 1 GB é um número muito pequeno, hoje em dia .. Tente #free -l


2

Conforme declarado nos pôsteres anteriores, 64 bits versus 32 bits refere-se ao tamanho dos dados que podem ser movidos em uma operação pelo computador. Isso se refere ao tamanho dos registros na CPU e à largura dos barramentos (um registro contém apenas dados para a CPU operar, eles costumavam ser pequenos no hardware do consumidor e crescem desde o início da computação doméstica. Os ônibus conectam diferentes partes da placa-mãe, são a estrada na qual os dados circulam).

O problema é que a maioria dos sistemas operacionais teve alguns problemas reais ao passar para operações de 64 bits, com pouco suporte para drivers e aplicativos. Frequentemente, os aplicativos tiveram desempenho pior nas versões anteriores. Dado que não há motivo real para a maioria das pessoas pular fundo, os poderes do Linux parecem estar se movendo um pouco mais devagar que a tosse - outros - sistemas operacionais, lentos, mas constantes.


2

Para facilitar a experiência do usuário, o site oficial do Ubuntu sugere versões de 32 bits devido a ajustes mais flexíveis.
Conto aqui também significa a consistência dos dados.

Existem muitos pontos a favor e contra . Meu ponto de vista é um excelente desempenho do sistema operacional de 64 bits no processador de arquitetura Intel de 64 bits diretamente relacionado ao uso de drivers e software de 64 bits, que pode lhe dar a chance de superar o desempenho regular de 32 bits.

Observe que o uso de software de 32 bits no SO de 64 bits às vezes pode causar um desempenho ruim e até superaquecer em casos muito diferentes.

No entanto, pelos componentes assinados e esta referência:
Tecnologia Intel® Extended Memory 64: Computação em desktop de 64 bits
... é possível uma melhor experiência com 4Gb + de memória.

Conto que esta será uma solução boa e não muito cara para você.

E sim, usar os dois sistemas em paralelo, capazes de oferecer uma compreensão mais clara da sua configuração e versatilidade nos significados.


2

Basicamente, eu diria que use a versão de 64 bits, se você precisar.

Se você está navegando principalmente na web, assistindo ao youtube, passeando pelo facebook, assistindo a filmes etc., então 32 bits é melhor porque você não precisa de um bom hardware para fazer essas coisas.

Se você jogar no Steam, WINE etc., execute vários programas, faça algumas edições de mídia e, em seguida, 64 bits é a melhor escolha.

uso tão casual quanto o SO de 32 bits, uso avançado e a versão de 64 bits.


1

32 bits e 64 bits se referem ao tamanho (ou largura) de um pedaço de memória ou, com mais precisão, a memória é registrada na CPU de um computador - isso define a quantidade de dados que o processador pode manipular em uma única operação. 32 bits e 64 bits se referem ao tamanho (ou largura) de um pedaço de memória ou, com mais precisão, a memória é registrada na CPU de um computador - isso define a quantidade de dados que o processador pode manipular em uma única operação. Sim, isso significa que a versão de 64 bits funcionará mais rapidamente, pois pode lidar com mais dados de uma só vez.


1

Para ser sincero, não percebi nenhuma diferença, exceto pelo tempo ligeiramente reduzido necessário para compilar programas e codificar vídeo. Fora isso, parece o mesmo para mim. Notei que, o que realmente faz a diferença em termos de desempenho é o driver de vídeo. Eu acho que os drivers de vídeo de 32 bits são mais suportados. Recentemente, instalei o driver mais recente da nVidia 260 em um sistema de 32 bits e isso fez muita diferença. Atualmente, estou usando 32 bits.


1

Eu uso o Ub64 em um chip AMD64, posso sentir a diferença de velocidade. Não é um grande impulso, mas você pode sentir. Por que você não tenta por 10 segundos cada um e compara sozinho em seu próprio sistema (qual é o objetivo da pergunta)? Tenho certeza que você não perderá seu tempo, pois a instalação é tão rápida hoje em dia. (tks Ubuntu! -)

Os problemas de Java / Flash também têm soluções "boas" em torno da rede ...


1

Pessoalmente, na minha área de trabalho, estou executando 64 bits porque suporta mais de 4 GB de RAM. Você também recebe um aumento de velocidade. Eu sei que você também pode otimizar 32 bits para poder detectar 4 GB de RAM ou mais. Sobre sua segunda pergunta, 32bit é o nome i386, porque foram os intel que desenvolveram a instrução / tecnologia de 32 bits e a AMD. A AMD então desenvolve o de 64 bits e a Intel recupera ou adota essa tecnologia. É por isso que 64 bits é Amd64.


1

Como squallbayu, eu esperava que os 64 bits funcionassem melhor, pois acabei de comprar um disco rígido de 17 "MacBook Pro Intel i-7 de 8 GB de RAM e 500 GB mais recente, o Lion OS na primavera de 2011. Infelizmente, depois de instalar os 64 primeiro e depois 32 mãos de 32 bits eram mais estáveis ​​e suaves .. Eu não sabia nada sobre velocidade (diferença mínima) Como não sou especialista, mas acho realmente que o benefício de 64 bits não será percebido até que os desenvolvedores de software aprendam como aproveitar seu poder ..


1

Além das diferenças excelentemente declaradas pelos outros membros da comunidade, se você estiver preocupado com a RAM, sempre poderá instalar o zRAM.

Informações da Wikipedia sobre zRAM:

O zRam é um módulo experimental (teste) do kernel do Linux. Foi anteriormente chamado de "compcache". O zRam aumenta o desempenho evitando a paginação no disco e, em vez disso, usa um dispositivo de bloco compactado na RAM, no qual a paginação ocorre até que seja necessário usar o espaço de troca na unidade de disco rígido. Como o uso da RAM é mais rápido do que os discos, o zRam permite que o Linux faça mais uso da RAM quando a troca / paginação é necessária, especialmente em computadores mais antigos com menos RAM instalada.

Embora o custo do hardware de RAM seja relativamente baixo, esse recurso ainda oferece vantagens para netbooks e outros laptops de menor potência, virtualização e no caso de dispositivos incorporados, especialmente aqueles que usam memórias flash com vida útil limitada, dependendo do uso de gravação e, portanto, se desgastam rapidamente quando usados ​​como um dispositivo de troca.


1

A diferença entre 32 e 64 bits não mudou desde que essa pergunta foi feita.

Eu sugeriria usar a versão de 64 bits.
Não conheço um software que não possa ser usado em um sistema de 64 bits e se você quiser usar 4 GB (ou mais) de RAM, precisará usar a versão de 64 bits do ubuntu.


Eu tenho apenas 4 GB de RAM, ainda é melhor usar a versão de 64 bits? As respostas para essa pergunta eram muito técnicas para eu entender. Obrigado
Cool_Coder

1
Use a edição de 64 bits. Eu não acho que você terá problemas com isso. Estou usando 64 bits com todas as minhas máquinas e não há problema.
prophecy201

ok obrigado por essa informação. Vou instalar a versão de 64 bits.
precisa saber é o seguinte

@Cool_Coder, o único motivo para considerar a versão de 32 bits é se você trabalha para uma empresa que usa o Juniper Networks Connect , um sistema VPN baseado na Web / Java que funciona apenas com Java de 32 bits. Certamente, o Java de 32 bits pode ser instalado no Ubuntu de 64 bits, mas acho isso um pouco trabalhoso. Fora isso, não conheço outro motivo para favorecer o Ubuntu de 32 bits em uma máquina de 4 GB.
user68186

0

Além de poder endereçar mais memória e possíveis melhorias de velocidade, você deve baixar e instalar a versão de 64 bits para sua nova máquina compatível com UEFI que acompanha o Windows 8 ou uma versão mais recente do Windows.

Enquanto o suporte de 32 bits para sistemas UEFI está sendo trabalhado, atualmente não há imagens padrão de 32 bits disponíveis que sejam inicializadas no modo UEFI.

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.