32 ou 64 bits ?

Salut,

suite à un changement de disque dur sur mon serveur, je vais faire une installation toute propre.

Mon serveur actuel me sert de serveur de fichiers, apache pour un ou deux sites de test, téléchargements, diffusion de la TNT avec HTS Tvheadend,… C’est une version 64 bits de debian 5 mais je n’ai que 2 Go de RAM.

ai je intérêt à rester sur une version 64 bits ?

Salut,

Tu as surtout besoin de passer de 5 à 6 :slightly_smiling:
Si la 64 fonctionne pourquoi revenir à 32 ?

c’est surtout que j’ai toujours lu ou entendu que le 64 bits est surtout utile quand on a au moins 4Go de RAM et que ça n’apporte pas plus de rapidité, etc.

Pas vraiment… Certe, un noyau 64 bits reconnaitrai toute ta ram si tu en as plus de 4G, contrairement à un noyau 32bits (seuf si c’est un bigmem).
Mais avant tout, l’architecture 64 bits, c’est un meilleur support des processeurs multi-coeurs, et si ton processeur est 64 bits, les temps d’éxécution des calculs seront améliorés (bon, quelques ms, mais c’est mieux que rien :slightly_smiling: )

merci beaucoup pour ces précisions !!

Et le fait de déployer du 64 bits sur un maximum de machines encourage le développement d’applications 64 bits par tous les acteurs du monde informatique, ce qui est une bonne chose si l’on souhaite faire progresser les performances d’un point de vue global. Autant installer ce qui se fait de mieux, “qui peut le plus peut le moins”. Et qui sait, peut-être qu’un jour tu souhaiteras mettre 4 Go de RAM ou plus sur ton serveur, auquel cas tu seras prêt. Mieux vaut prévoir.

C’est faux.

Les processeurs 64 bits (quand ils tournent en mode 64 bits bien sûr, c’est à dire avec un OS compatible) mettent 16 registres génériques à disposition des applications, contre 8 seulement en 32 bits. Ça implique qu’il y a besoin de moins d’allers-retours des valeurs en mémoire (que ce soit sur la pile ou sur le tas), et donc une amélioration des performances.
De plus les conventions d’appel de fonctions ont été adaptées à ce nombre plus important de registres, et sous Linux 64 bits même la bonne vieille convention cdecl (qui mettait tous les paramètres sur la pile en 32 bits, et donc nécessitait des accès mémoire pour écrire et relire les paramètres) utilise maintenant des registres pour le passage de paramètres, comme faisait le fastcall en 32 bits. Résultat : moins d’accès mémoire à chaque appel de fonction, donc amélioration des performances.
Les appels système sont également plus rapides en 64 bits (passage du mode utilisateur (ring 3) au mode kernel (ring 0) et vice-versa).
Ah, et le jeu d’instructions SIMD 128 bits (SSE) augmente fortement les performances des applications qui l’utilisent (généralement les programmes de traitement d’image / vidéo / audio).

Le seul vrai inconvénient du 64 bits est que, les bus d’adresses et de données étant plus larges, les programmes occupent souvent un peu plus d’espace à la fois en RAM et sur le disque (de mémoire 10 à 30% de plus, mais il est tout à fait possible que ma mémoire me joue des tours). Donc temps de chargement initial d’un programme plus lent d’autant, dû aux données supplémentaires à transférer depuis le stockage de masse vers la mémoire.

Le résultat de tout ça c’est qu’en 64 bits, le nombre de cache-misses du cache processeur est moindre : la réduction des accès mémoire due aux registres supplémentaires et à la nouvelle convention d’appels compense largement l’augmentation en taille du code et des données. Sachant qu’un cache-miss est extrêmement lent à traiter (il faut accéder à la RAM elle même, et non plus seulement au cache processeur, on parle là d’une différence de plusieurs ordres de grandeur), je te le donne en mille, il en résulte une grosse amélioration des performances (les études à ce sujet donnent jusqu’à 40% d’amélioration dans les situations extrêmes [réf. nécessaire]).

Mon avis : je doute que l’occupation en RAM soit un souci pour toi sachant que tu fonctionnes déjà en 64 bits, le temps initial de chargement n’est pas un problème sur un serveur (les services sont chargés une fois pour toutes), il te reste donc une amélioration des performances certaine.

Edit: bon je me suis fait griller pendant que je rédigeais mon pavé (ça m’apprendra à faire 36000 choses à la fois) mais ça reste plus détaillé que “les temps d’éxécution des calculs seront améliorés”, je le poste donc quand même… :wink:
Et les autres arguments mis en avant par thuban et Cluxter sont aussi d’excellentes raisons de choisir le 64 bits.

Ça c’est une réponse qui vaut le coup pour les profanes! merci!

Debian Popularity Contest:
amd64 bientôt devant i386 (question de semaines ?)

Et tout le monde n’a pas la bonne idée de participer…