¿Cuáles son las diferencias entre 32 bits y 64 bits, y cuál debo elegir?

142

¿Cuál es la diferencia entre Ubuntu de 32 bits y 64 bits? Escuché que la plataforma de 64 bits funciona mejor y puede detectar más de 4 GB de RAM. Además, aunque algunas aplicaciones aún no se han portado a 64 bits, ia32-libspermite que una máquina de 64 bits las ejecute.

Si es así, ¿por qué no promover 64 bits sobre 32 bits?

squallbayu
fuente

Respuestas:

147

Creo que la pregunta principal al elegir entre 32 y 64 bits no es "¿Mi procesador admite 64 bits? Si es así, debería usar 64 porque es el doble de bueno", sino "¿Cuánta memoria tengo?" .

Los programas de 64 bits usan aproximadamente un 50% más de memoria que sus contrapartes de 32 bits. Los resultados de esto son:

  • menos código / datos pueden caber en los cachés del procesador -> más errores de caché -> su procesador súper rápido espera más a que el controlador de memoria obtenga datos de la RAM. El procesador también necesita leer más datos porque está más hinchado.

  • Linux usa RAM no asignada para almacenar en caché los discos. Menos memoria libre disponible -> menos espacio para cachés de disco -> acceso de disco más lento

  • Una vez que se haya quedado sin RAM y el sistema comience a intercambiarse: el acceso al disco es miles de veces más lento que la RAM, por lo que cualquier beneficio potencial del código de 64 bits (ver más abajo) está desapareciendo.

Por otro lado, en el modo de 64 bits, el procesador tiene más registros, por lo que no es necesario acceder a la memoria que, a menudo, también, algunos cálculos (números de 64 bits, etc.) son más eficientes. Por lo tanto, generalmente, el código que no está restringido por la memoria se ejecuta un poco más rápido en el modo de 64 bits.

Entonces, si su sistema tiene, digamos, 2GiB de RAM o menos, definitivamente elegiría 32 bits. Más de 4GiB: los beneficios de 64 bits son cada vez más importantes. Alrededor de 4GiB es una "zona gris": debe elegir usted mismo.

Aquí hay capturas de pantalla de un Ubuntu vainilla (bastante antiguo) que se ejecuta en un VirtualBox con 1GiB RAM:

32 bits: usa 388 MiB de RAM justo después del arranque, no se ejecutan aplicaciones adicionales (de la captura de pantalla, 397780KiB, que es 388MiB)

Ubuntu de 32 bits

64 bits: utiliza 491 MiB de RAM (de la captura de pantalla, 503452KiB = 491MiB)

Ubuntu de 64 bits

Además, en mis pruebas, una aplicación web escrita en Python utilizó hasta un 60% más de memoria en una máquina de 64 bits, lo que resultó en un conjunto de pruebas que se ejecutó en 380 segundos en una máquina de 32 bits, pero que tardó 523 segundos en una máquina de 64 bits bit uno (ambos con 1GiB de RAM). Si las máquinas no estuvieran limitadas por RAM, los resultados probablemente serían diferentes (como muestran las pruebas de phoronix).

Aquí hay algunas pruebas más exhaustivas y recientes: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

mem libre mem utilizado intercambio utilizado

Básicamente, es como renunciar al 30% de su RAM a cambio de una posible ganancia del 10% de velocidad de la CPU.

Sergey
fuente
1
Entonces 32 bits, 388M; 64 bits, 498M o aproximadamente 110M más y eso es 30% de 2G ??
John irracional
22
Estoy de acuerdo con los números pero no estoy de acuerdo con la conclusión. ¡30% menos RAM para un 10% de rendimiento mejorado lo convierte en el negocio del siglo! Además, es mucho más barato arrojar RAM extra que reemplazar la CPU.
Oli
1
Sí, no estoy en desacuerdo con eso, pero lo pondría más fuerte e iría un poco más lejos, solo sugiriendo 32 bits cuando no es compatible con la CPU o no es viable actualizar la RAM (es antiguo o está a punto de tirarlo) . Las personas con una computadora moderna con <= 2GB deben gastar los $ 20-30 en eBay y tener 4GB. Un aumento del 10% vale eso.
Oli
1
Tengo curiosidad por saber cómo navegadores modernos con muchas pestañas abiertas y tarifas de JavaScript aquí. A menudo me encuentro con el intercambio (incluso con 8 GB de RAM) abriendo muchas pestañas, y los sitios web modernos usan muchas bibliotecas javascript, etc. ¿Cómo se compara la memoria y la velocidad de la CPU para el uso intensivo de Chrome o Firefox?
nealmcb
2
¿Sigue siendo cierto en 2015? Quiero instalar Ubuntu 14.04 en una tableta Atom que tiene 1 GB de memoria y una CPU lenta (con capacidad para 64 bits), por lo tanto, después de leer esto, tiendo fuertemente a 32 bits. ¿Ha cambiado algo que valga la pena considerar desde la publicación de esta respuesta? Especialmente en términos de consumo de memoria base de 64 bits en comparación con 32 bits, ya que la memoria sería el mayor cuello de botella en este sistema.
Andreas Hartmann
22

Si no le interesa conocer los detalles técnicos, seleccione la versión recomendada de 32 bits.

64 bits es generalmente más rápido, incluso si es objetivamente difícil de notar. Esto tiene menos que ver con el ancho de datos de 64 bits, pero con la disponibilidad de 16 más de 8 registros comunes de CPU en todo el conjunto de instrucciones. La desventaja de desperdiciar más memoria para la administración y los punteros más grandes se nivela principalmente.

El problema práctico: no todos tienen una CPU compatible con AMD64. Promover 64 bits sobre la versión estándar i686 conduciría a más frustración del usuario. Por lo tanto, durante los próximos años, es menos confuso presentar la versión de 32 bits al usuario promedio. No es exactamente un problema para nadie que lo sepa, ya que la versión de 64 bits está fácilmente disponible. Y los usuarios de amd64 no tenemos ninguna desventaja de esa situación, excepto la descarga inicial. Todos los paquetes están disponibles en ambas arquitecturas.

En estas circunstancias, la página de descarga de Ubuntu me parece bien. Dice "32 bits (recomendado)", pero ese "recomendado" se traduce en "menos problemas, si no conoce todos los detalles técnicos de su computadora". Para la página de descarga de la edición de netbook, ni siquiera hay una opción, ¡porque algunas CPU de átomo de Intel son de 32 bits solo en 2010!
En conclusión, creo que evitar los problemas de compatibilidad sigue siendo necesario. Sin embargo, estoy de acuerdo en que debería haber al menos una nota brillante al pie de las líneas que -64 es más rápida que -32, y recomendé SI (PERO SOLO SI) el sistema de destino lo admite.

mario
fuente
1
Ii será interesante cuando se admitan los nuevos binarios x32 y ABI, cuántas aplicaciones de 64 bits se cambiarán a este ABI en.wikipedia.org/wiki/X32_ABI para usar menos recursos y memoria y usar completamente la CPU.
Emanuele
Si se recomienda 32 bits, ¿por qué Wubi prefiere 64 bits ?
Dan Dascalescu
1
nb 64bit ahora se puede recomendar ...
Wilf
55
Nota para los lectores: esta respuesta fue escrita hace más de 4 años. No recomendaría instalar 32 bits hoy en día, y no creo que Ubuntu lo recomiende más.
thomasrutter
Ahora es una pregunta que se resolverá por sí sola en poco menos de un año, con las versiones de 64 bits que probablemente se convertirán en las predeterminadas después de Ubuntu 16.04 ...
Mario
18

Los términos 32 bits y 64 bits se refieren a la forma en que la CPU de una computadora maneja la información. La versión de 64 bits maneja grandes cantidades de RAM de manera más efectiva que un sistema de 32 bits. 1

  • Para ejecutar un sistema operativo de 64 bits, necesita soporte de la CPU de 64 bits.
    • Para ejecutar una aplicación de 64 bits, necesita soporte tanto del sistema operativo de 64 bits como de la CPU de 64 bits.

La regla general es que 32 bits (SO y aplicación) se ejecutará en 64 bits, pero 64 bits (SO y aplicación) no se ejecuta en 32 bits:

  • Un sistema operativo de 32 bits se ejecutará en un procesador de 32 bits o 64 bits sin ningún problema.
  • Una aplicación de 32 bits se ejecutará en un sistema operativo de 32 bits o 64 bits sin ningún problema.
  • Pero una aplicación de 64 bits solo se ejecutará en un sistema operativo de 64 bits y un sistema operativo de 64 bits solo se ejecutará en un procesador de 64 bits.

Se necesita una CPU compatible de 64 bits para instalar un sistema operativo de 64 bits. Consulte con el fabricante de su PC para averiguar si su sistema es compatible con 64 bits.

Los sistemas de 32 bits tienen un límite de memoria RAM de 4 Gigabytes, lo que significa que no pueden abordar más de 4 GB de RAM, incluso si hay más instalados en el sistema (no se utilizará todo). Hay soluciones alternativas disponibles, pero difíciles de hacer para un usuario promedio.

Nota: Ubuntu 12.10 y las versiones posteriores admitirán PAE automáticamente. Antes de la 12.10, tiene la opción de elegir el soporte PAE dependiendo de su CPU. PAE extiende la RAM máxima en 32 bits a 64 GB, puede encontrar más información aquí.

Las ediciones de 64 bits tienen ventajas adicionales, que incluyen un mayor ancho de banda, DEP (prevención de ejecución de datos) habilitada por hardware y una mejor protección del núcleo.

La mayoría de las aplicaciones de 32 bits continuarán funcionando en sistemas de 64 bits, pero algunas aplicaciones no funcionan en absoluto o se ejecutarán más lentamente.

Para obtener más información, puede consultar 32 bits y 64 bits.

1 Fuente: Microsoft

Mitch
fuente
@Alvar La CPU debe ser compatible con PAE. En general, se recomienda un sistema de 64 bits adecuado si tiene 4 Gb o más de memoria y / o desea obtener el beneficio completo de la arquitectura de 64 bits.
Mitch
Entiendo, pero como dije, la CPU tiene que soportar PAE para que funcione . Por ejemplo, Atom no admite PAE.
Mitch
Acabo de agregar eso como una nota en la respuesta.
Mitch
Se agregó una explicación de qué es PAE con la fuente. Espero que estés contento con eso.
Alvar
10

Como se señaló aquí en Phoronix : "Con la situación de múltiples arcos de Ubuntu despejada, la mayoría de las aplicaciones y complementos ahora funcionan bien en 64 bits (como Adobe Flash y Java), y 64 bits suelen ser mucho más rápidos que 32 -bit, realmente no hay una gran razón para no pasar a la versión x86_64 ".

Aunque se discute si 64 bits se indicarán como predeterminados en lugar de 32 bits, creo que tiene un aumento de rendimiento con el primero. Ver estos puntos de referencia .

Y una palabra de su memoria RAM "baja" de Phoronix : "[S] ujos desarrolladores de Ubuntu han estado demasiado preocupados por las netbooks de 32 bits que aún existen y para los sistemas que solo tienen 2GB de RAM donde el uso del software x86_64 puede conducir a la ejecución poca memoria y, por lo tanto, un mayor uso de SWAP. Sin embargo, para una gran mayoría de usuarios, están mucho mejor en un mundo de 64 bits ".

Tal vez pueda instalarlo y observar si el sistema usa el intercambio con frecuencia.

desgua
fuente
3

Investigué esto para Ubuntu Precise LTS hace un tiempo. Aquí hay algunos resultados de algunos análisis que ejecuté:

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

Básicamente, si tiene 4 GB o menos está bien, por más de 4 GB considere usar i386-pae o amd64. Los sistemas de 64 bits consumen más memoria (por ejemplo, los punteros tienen un tamaño de 64 bits) pero es posible que vea un rendimiento superior en los sistemas de 64 bits debido a las optimizaciones que usan copias de 64 bits o usan los registros de CPU adicionales que están disponibles en el modo de 64 bits.

Colin Ian King
fuente
3

Para mí, lo más importante fue el hecho de que no puede usar el sistema de archivos ZFS en un sistema operativo de 32 bits, porque simplemente es inestable allí debido a los límites vmalloc de 32 bits del sistema operativo (independientemente de PAE o no PAE). Esa fue una razón para reinstalar a 64 bits, y nunca miré hacia atrás. Incluso NVIDIA tiene pocas líneas sobre el tema vmalloc en las páginas de "solución de problemas", y termina alentando a los usuarios a cambiar a núcleos de 64 bits.

Hay un límite de dirección de 1 GB en modo de 32 bits, por lo que incluso si puede usar hasta 4 GB, solo 1 GB se llama "bajo" y el resto es "alta memoria", que no es tan general. Y 1GB es un número realmente pequeño, hoy en día. Prueba #free -l

coro
fuente
2

Como se indicó en pósters anteriores, 64 bits frente a 32 bits se refiere al tamaño de los datos que la computadora puede mover en una operación. Esto se relaciona con el tamaño de los registros en la CPU y el ancho de los buses (un registro solo contiene datos para que la CPU funcione, solían ser pequeños en el hardware del consumidor y han estado creciendo desde el inicio de la informática doméstica. Los autobuses conectan diferentes partes de una placa base, son la carretera por la que fluyen los datos).

El problema es que la mayoría de los sistemas operativos tenían algunos problemas reales al pasar a las operaciones de 64 bits, con poca compatibilidad con controladores y aplicaciones. A menudo, las aplicaciones tuvieron un peor rendimiento en las primeras versiones. Dado que no hay una razón real para que la mayoría de las personas salten al fondo, los poderes fácticos de Linux parecen estar tomando el movimiento un poco más lento que la tos _otros_Sistemas, lento pero constante.

Jeremy
fuente
2

Para una experiencia de usuario simple, el sitio oficial de Ubuntu sugiere versiones de 32 bits debido a un ajuste más flexible.
Cuento aquí también significa la consistencia de los datos.

Existen muchos puntos para cualquier profesional y contra . Mi opinión es un gran rendimiento del sistema operativo de 64 bits en el procesador Intel Architecture de 64 bits directamente relacionado con el uso de software y controladores de 64 bits, que puede darle la oportunidad de superar el rendimiento normal de 32 bits.

Tenga en cuenta que el uso de software de 32 bits en sistemas operativos de 64 bits a veces puede causar un mal rendimiento e incluso sobrecalentarse en casos muy diferentes.

Sin embargo, según sus componentes firmados y esta referencia:
Tecnología Intel® Extended Memory 64: Computación de escritorio de 64 bits
... mejor experiencia posible con 4 Gb + de memoria.

Considero que esta será una solución buena y no muy costosa para usted.

Y sí, usar ambos sistemas en paralelo puede brindarle una comprensión más clara de su configuración y versatilidad en los significados.

rápido
fuente
2

Básicamente, diría que use la versión de 64 bits si la necesita.

Si está navegando principalmente por la web, viendo YouTube, pasando el rato en Facebook, viendo películas, etc., entonces 32 bits es mejor porque no necesita ningún buen hardware para hacer esas cosas.

Si juegas en Steam, WINE, etc., ejecutas muchos programas, editas algunos medios y entonces 64 bits es la mejor opción.

uso casual entonces SO de 32 bits, uso avanzado luego versión de 64 bits.

usuario241367
fuente
1

32 bits y 64 bits se refieren al tamaño (o ancho) de un trozo de memoria o, más exactamente, la memoria se registra en la CPU de una computadora; esto define la cantidad de datos que el procesador puede manejar en una sola operación. 32 bits y 64 bits se refieren al tamaño (o ancho) de un trozo de memoria o, más exactamente, la memoria se registra en la CPU de una computadora; esto define la cantidad de datos que el procesador puede manejar en una sola operación. Sí, eso significa que la versión de 64 bits funcionará más rápido ya que puede manejar más datos a la vez.

Martin Zeltin
fuente
1

Para ser honesto, no he percibido ninguna diferencia, excepto el tiempo ligeramente reducido requerido para compilar programas y codificar videos. Aparte de eso, me parece lo mismo. Aunque me di cuenta de que lo que realmente marca la diferencia en términos de rendimiento es el controlador de video. Supongo que los controladores de video de 32 bits son mejor compatibles. Recientemente instalé el último controlador nVidia 260 en un sistema de 32 bits y marcó una gran diferencia. Actualmente estoy usando 32 bits.

lovinglinux
fuente
1

Uso Ub64 en un chip AMD64, puedo sentir la diferencia de velocidad. No es un gran impulso, pero puedes sentirlo. ¿Por qué no intentarlo durante 10 segundos para cada uno y compararlo usted mismo en su propio sistema (que es el punto de la pregunta)? Estoy seguro de que no perderá su tiempo, ya que la instalación es muy rápida en estos días. (tks Ubuntu! -)

Los problemas de Java / Flash también tienen "buenas" soluciones en la red ...

H_7
fuente
1

Personalmente, en mi escritorio, estoy ejecutando 64 bits porque admite más de 4 gb de ram. También obtienes un aumento de velocidad. Sé que también puede optimizar 32 bits para poder detectar 4 gb de ram o más. Acerca de su segunda pregunta, 32 bits es nombre i386 porque Intel fue el que desarrolló la instrucción / tecnología de 32 bits y AMD sigue. Luego, AMD desarrolló los 64 bits y luego Intel se puso al día o adoptó esa tecnología. Es por eso que 64 bits es Amd64.

jart
fuente
1

Al igual que Squallbayu, esperaba que el 64 bit funcionara mejor ya que acababa de comprar un MacBook Pro Intel i-7 8 Gig RAM 500 Gig de 17 ", último disco duro Lion OS en la primavera de 2011. Desafortunadamente, después de instalar ambos 64 primero y luego 32 El bit de 32 bits era más estable y suave. No hice nada que ver con la velocidad (diferencia mínima) Como no soy un experto, pero realmente creo que el beneficio de 64 bits no se notará hasta que los desarrolladores de software aprendan cómo aprovechar su poder ..

Pete
fuente
1

Además de las diferencias indicadas de manera excelente por los demás miembros de la comunidad, si le preocupa la RAM, siempre puede instalar zRAM.

Información de Wikipedia sobre zRAM:

zRam es un módulo experimental (provisional) del kernel de Linux. Anteriormente se llamaba "compcache". zRam aumenta el rendimiento al evitar la paginación en el disco y en su lugar utiliza un dispositivo de bloque comprimido en la RAM en el que se realiza la paginación hasta que sea necesario utilizar el espacio de intercambio en la unidad de disco duro. Dado que el uso de RAM es más rápido que el uso de discos, zRam permite que Linux haga un mayor uso de RAM cuando se requiere intercambio / paginación, especialmente en computadoras más antiguas con menos RAM instalada.

Aunque el costo del hardware RAM es relativamente bajo, esta característica aún ofrece ventajas para netbooks y otras computadoras portátiles de menor potencia, virtualización y en el caso de dispositivos integrados, especialmente aquellos que usan memorias flash que tienen una vida útil limitada, dependiendo del uso de escritura y por lo tanto se desgasta rápidamente cuando se usa como dispositivo de intercambio.

Halta
fuente
1

La diferencia entre 32 bits y 64 bits no ha cambiado desde que se planteó esta pregunta.

Sugeriría usar la versión de 64 bits.
No conozco un software que no se pueda usar en un sistema de 64 bits y si quieres usar 4 GB (o más) de RAM, debes usar la versión de 64 bits de ubuntu.

profecía201
fuente
Solo tengo 4 GB de RAM, ¿aún así es mejor ir con la versión de 64 bits? Las respuestas a esa pregunta fueron demasiado técnicas para que yo las entendiera. Gracias
Cool_Coder
1
Use la edición de 64 bits. No creo que tenga problemas con eso. Estoy usando 64 bits con todas mis máquinas y no hay problema.
profecía201
ok gracias por esa información Instalaré la versión de 64 bits.
Cool_Coder
@Cool_Coder, la única razón por la que debe considerar la versión de 32 bits es si trabaja para una empresa que utiliza Juniper Networks Connect , un sistema VPN basado en web / Java que solo funciona con Java de 32 bits. Sin duda, se puede instalar Java de 32 bits en Ubuntu de 64 bits, pero me resulta un poco difícil hacerlo. Aparte de esto, no conozco ninguna otra razón para favorecer Ubuntu de 32 bits en una máquina de 4GB.
user68186
0

Además de poder abordar más memoria y posibles mejoras de velocidad, debe descargar e instalar la versión de 64 bits para su nueva máquina con capacidad UEFI que viene con Windows 8 o una versión más nueva de Windows.

Mientras se trabaja en el soporte de 32 bits para los sistemas UEFI, actualmente no hay imágenes estándar de 32 bits disponibles que se inicien en modo UEFI.

LiveWireBT
fuente