144 votes

Quelles sont les différences entre 32 et 64 bits, et lequel dois-je choisir ?

Quelle est la différence entre Ubuntu 32 bits et 64 bits ? J'ai entendu dire que la plate-forme 64 bits est plus performante et peut détecter plus de 4 Go de RAM. De plus, certaines applications n'ont pas encore été portées en 64 bits, ia32-libs permet à une machine 64 bits de les exécuter.

Si c'est le cas, pourquoi ne pas promouvoir le 64 bits plutôt que le 32 bits ?

151voto

John Points 9

Je pense que la principale question à se poser pour choisir entre 32 et 64 bits n'est pas "Mon processeur prend-il en charge le 64 bits - si oui, je devrais utiliser le 64 car c'est deux fois mieux", mais "Combien de mémoire ai-je ?" .

Les programmes 64 bits utilisent environ 50 % de mémoire en plus que leurs homologues 32 bits. Les résultats de ceci sont :

  • moins de code/données peuvent tenir dans les caches du processeur -> plus de ratés de cache -> votre processeur super rapide attend davantage que le contrôleur mémoire aille chercher les données dans la RAM. Le processeur doit également lire plus parce que c'est plus gonflé.

  • Linux utilise de la RAM non allouée pour mettre en cache les disques. Moins de mémoire libre disponible -> moins d'espace pour les caches des disques -> accès aux disques plus lent

  • Une fois que vous n'avez plus de mémoire vive et que le système commence à échanger des données, l'accès au disque est des milliers de fois plus lent que celui de la mémoire vive, de sorte que tous les avantages potentiels du code 64 bits (voir ci-dessous) s'envolent.

D'autre part, en mode 64 bits, le processeur dispose de plus de registres, il n'a donc pas besoin d'accéder à la mémoire aussi souvent, et certains calculs (nombres 64 bits, etc.) sont plus efficaces. Ainsi, en général, le code qui n'est pas limité par la mémoire s'exécute légèrement plus rapidement en mode 64 bits.

Donc, si votre système a, disons, 2 Go de RAM ou moins, je choisirais sans hésiter le 32 bits. Plus de 4GiB - les avantages de 64 bits deviennent plus importants. Autour de 4GiB, c'est une "zone grise" - vous devez faire votre choix vous-même.

Voici des captures d'écran d'une Ubuntu vanille (plutôt vieille) fonctionnant dans une VirtualBox avec 1GiB RAM :

32 bits : utilise 388 MiB de RAM juste après le démarrage, sans aucune autre application en cours d'exécution (d'après la capture d'écran, 397780KiB, soit 388MiB)

32 bit Ubuntu

64 bits : utilise 491 MiB de RAM (d'après la capture d'écran, 503452KiB = 491MiB)

64 bit Ubuntu

De plus, lors de mes tests, une application web écrite en Python utilisait jusqu'à 60 % de mémoire en plus sur une machine 64 bits. La suite de tests s'est exécutée en 380 secondes sur une machine 32 bits, mais en 523 secondes sur une machine 64 bits (toutes deux avec 1 Go de RAM). Si les machines n'étaient pas limitées en RAM, les résultats seraient probablement différents (comme le montrent les tests de Phoronix).

Voici quelques tests plus approfondis et récents : http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

mem freemem usedswap used

En gros, c'est comme renoncer à 30% de votre RAM en échange de gain potentiel de 10% de la vitesse du CPU.

22voto

SeaBreeze Points 51

Si vous n'avez pas envie d'apprendre les détails techniques, sélectionnez la version 32 bits recommandée.

Le 64 bits est généralement plus rapide, même si c'est objectivement difficile à remarquer. Cela n'a pas tant à voir avec la largeur de données de 64 bits qu'avec la disponibilité de 16 registres communs au CPU par rapport à 8 sur l'ensemble du jeu d'instructions. L'inconvénient de gaspiller plus de mémoire pour la gestion et les pointeurs plus grands est donc largement compensé.

Le problème pratique : tout le monde ne dispose pas d'un processeur compatible AMD64. Promouvoir le 64 bits au détriment de la version standard i686 conduirait à une plus grande frustration des utilisateurs. C'est pourquoi, pour les prochaines années, il est moins déroutant de présenter la version 32 bits à l'utilisateur moyen. Ce n'est pas vraiment un problème pour quiconque est au courant, puisque la version 64 bits est facilement disponible. Et nous, utilisateurs d'amd64, ne sommes pas désavantagés par cette situation, sauf pour le téléchargement initial. Tous les paquets sont disponibles dans les deux architectures.

Dans ces circonstances, la page de téléchargement d'Ubuntu me semble correcte. Elle indique "32 bits (recommandé)", mais ce "recommandé" se traduit par "moins de problèmes, si vous ne connaissez pas tous les détails techniques de votre ordinateur". Pour la page de téléchargement de l'édition netbook, il n'y a même pas le choix, car certains processeurs Intel atom sont uniquement en 32 bits, même en 2010 !
En conclusion, je pense qu'il est encore nécessaire d'éviter les problèmes de compatibilité. Cependant, je suis d'accord pour dire qu'il devrait y avoir au moins une note de bas de page brillante indiquant que -64 est plus rapide que -32, et recommandé SI (MAIS SEULEMENT SI) le système cible le supporte.

18voto

Mitch Points 102545

Les termes 32 bits et 64 bits font référence à la façon dont l'unité centrale d'un ordinateur traite informations. La version 64 bits gère les grandes quantités de RAM de manière plus efficacement qu'un système 32 bits. 1

  • Pour faire fonctionner un système d'exploitation 64 bits, vous avez besoin du support du processeur 64 bits.
    • Pour exécuter une application 64 bits, vous avez besoin du support du système d'exploitation 64 bits et du processeur 64 bits.

La règle générale est que le 32 bits (système d'exploitation et application) fonctionne sur le 64 bits, mais que le 64 bits (système d'exploitation et application) ne fonctionne pas sur le 32 bits :

  • Un système d'exploitation 32 bits fonctionnera sans problème sur un processeur 32 bits ou 64 bits. problème.
  • Une application 32 bits fonctionnera sans problème sur un système d'exploitation 32 bits ou 64 bits. problème.
  • Mais une application 64 bits ne fonctionnera que sur un système d'exploitation 64 bits et un système d'exploitation 64 bits. ne fonctionnera que sur un processeur 64 bits.

Un processeur compatible 64 bits est nécessaire pour installer un système d'exploitation 64 bits. Vérifiez auprès du fabricant de votre PC si votre système est compatible 64 bits.

Les systèmes 32 bits ont une limite de mémoire RAM de 4 gigaoctets, ce qui signifie qu'ils ne peuvent pas adresser plus de 4 Go de RAM même si plus est installé sur le système (tout ne sera pas utilisé). Des solutions de contournement existent, mais elles sont difficiles à mettre en œuvre pour un utilisateur moyen.

Nota: Ubuntu 12.10 et les versions plus récentes prennent automatiquement en charge PAE. Avant la version 12.10, vous avez la possibilité de choisir la prise en charge de la PAE en fonction de votre processeur. PAE étend la RAM maximale sur 32-bit à 64GB, plus d'information peut être trouvé ici.

Les éditions 64 bits présentent des avantages supplémentaires, notamment une bande passante accrue, une fonction DEP (prévention de l'exécution des données) activée par le matériel et une meilleure protection du noyau.

La majorité des applications 32 bits continueront à fonctionner sur un système 64 bits, mais certaines applications ne fonctionneront pas du tout ou seront plus lentes.

Pour plus d'informations, vous pouvez consulter le site 32 bits et 64 bits

1 Source : Microsoft

10voto

Bill K Points 32115

Comme indiqué aquí sur Phoronix : "Avec la situation multi-arche d'Ubuntu qui est en train d'être éclaircie, la plupart des applications et des plug-ins fonctionnant maintenant très bien sur 64 bits (comme Adobe Flash et Java), et le 64 bits étant généralement beaucoup plus rapide que le 32 bits, il n'y a vraiment pas de grande raison de ne pas passer à la version x86_64."

Bien qu'il soit a discuté de si le 64bit est indiqué par défaut au lieu du 32bit, je pense que vous avez un certain gain de performance avec le premier. Voir ces critères de référence .

Et un mot de votre "faible" mémoire RAM de Phoronix : "[C]ertains développeurs d'Ubuntu ont été excessivement préoccupés par le fait que les netbooks 32 bits existent encore et pour les systèmes qui n'ont que 2 Go de RAM où l'utilisation de logiciels x86_64 peut conduire à manquer de mémoire et donc à une utilisation accrue de SWAP. Cependant, pour une grande majorité d'utilisateurs, le monde 64 bits est bien meilleur."

Vous pouvez peut-être l'installer et regarder si le système utilise souvent le swap.

3voto

Colin Ian King Points 16984

J'ai étudié cette question pour Ubuntu Precise LTS il y a quelque temps. Voici les résultats d'une analyse que j'ai effectuée :

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-et-x220-tests/results-3/results.txt

En gros, si vous avez 4 Go ou moins, c'est OK, pour plus de 4 Go, envisagez d'utiliser i386-pae ou amd64. Les systèmes 64 bits consomment plus de mémoire (par exemple, les pointeurs ont une taille de 64 bits), mais vous pouvez gagner en performance sur les systèmes 64 bits grâce aux optimisations qui utilisent des copies 64 bits ou les registres supplémentaires du CPU disponibles en mode 64 bits.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X