Pour un noyau 32 bits, quels sont les avantages / inconvénients de PAE par rapport à non-PAE?

8

J'utilise Ubuntu 12.04 32 bits. Mes grains sont des grains PAE. Je sais que ce sont les noyaux que nous pouvons utiliser pour les systèmes d'exploitation 32 bits qui ont 4 Go de RAM, pour utiliser les 4 Go de RAM.

Mon système est un système 32 bits. J'ai donc pensé que je n'en avais pas besoin. Quels sont les avantages et les inconvénients que je vais avoir si je continue à utiliser les noyaux PAE?

raja@badfox:~$ uname -a
Linux badfox 3.2.0-24-generic-pae #39-Ubuntu SMP Mon May 21 18:54:21 UTC 2012 i686 i686 i386 GNU/Linux
rɑːdʒɑ
la source
3
PAE permet à un système 32 bits d'utiliser plus de 3,2 Go de RAM. Si vous avez moins de RAM ou si vous avez un système 64 bits, vous n'en avez pas besoin. Je ne connais aucun problème avec ça.
Marty Fried
@EliahKagan Mon système 32 bits et mon OS 32 bits mais mon Kernels PAE. Quels sont donc les avantages et les inconvénients des noyaux PAE si je continue à les utiliser.
rɑːdʒɑ
1
Le principal problème est le suivant: combien de RAM votre système possède-t-il? L'avantage de PAE est qu'il vous permet, avec votre système d'exploitation 32 bits, d'accéder à plus de 3,2 Go de RAM. C'est sa raison d'être. Un système d'exploitation 64 bits peut déjà accéder à beaucoup plus de mémoire, il n'a donc pas besoin d'aide.
Marty Fried
@EliahKagan: Merci, mais je pense que peut-être la réponse de izx éclipsera tout ce que je pourrais écrire. :) Je n'ai pas répondu parce que je ne savais pas avec certitude quels étaient les inconvénients, le cas échéant, seulement qu'ils n'étaient pas gros et ne m'ont jamais dérangé. Mais vous avez peut-être raison de dire qu'une réponse simple dans ce cas peut être la meilleure.
Marty Fried

Réponses:

21

Réponse courte: passez à 64 bits si vous le pouvez, ce qui est plus rapide que les deux PAE / non-PAE 32 bits; si vous ne le pouvez pas, le non-PAE peut être 1 à 2% plus rapide que le PAE.


En théorie, le PAE a un léger surcoût par rapport au non-PAE ...

  • Le gros avantage du PAE est qu'il permet à un processeur / système 32 bits d'utiliser plus de 4 Go de RAM
  • Mais cela nécessite un surcoût légèrement supérieur à celui des non-PAE, ce qui peut entraîner une baisse des performances.
    • Voici une explication très simple: en mode non-PAE, un processeur 32 bits doit rechercher (accéder) à deux tables pour accéder à une adresse de mémoire physique; en mode PAE, il doit rechercher trois tables pour ce faire. La seule recherche supplémentaire nécessite un temps (très petit) supplémentaire, ce qui impose des frais supplémentaires.
    • À la fin de cette réponse se trouvent deux images de l' article Wikipedia PAE , illustrant le point ci-dessus.
    • Bit NX / XD : le noyau PAE prend également en charge le bit No-eXecute / eXecute-Disable sur les processeurs 64 bits; cela peut aider à prévenir certains types de virus / attaques malveillantes (débordements de tampon), mais IMO cela n'a pas beaucoup d'importance lors du choix des noyaux 32 bits pour Ubuntu.

... mais en pratique ce surcoût est négligeable (presque rien) ...

  • Phoronix a effectué un certain nombre de tests au fil des ans qui montrent que sur les systèmes de 4 Go ou moins , le noyau PAE peut être au plus environ 5% plus lent que le noyau non PAE. C'est uniquement pour une application de test spécifique; la différence habituelle est inférieure à 1%.

et 64 bits bat presque toujours les DEUX noyaux 32 bits - allez-y!

  • La seule chose que les benchmarks Phoronix ci-dessus vous disent est que le 64 bits est roi - même si vous avez moins de 4 Go de RAM (bien que je recommande 1 Go au minimum)
  • Si vous avez un processeur 64 bits - généralement n'importe quoi après 2006 sauf Intel Atoms - vous perdez probablement des performances en utilisant un noyau 32 bits!

Comparaison des accès aux tables de pages non PAE et PAE:

  1. Non-PAE

    entrez la description de l'image ici

  2. PAE

    entrez la description de l'image ici

ish
la source
2
Donc, si vous avez moins de 4 Go de RAM, dites-vous que 64 bits est plus rapide que 32 bits? Pourquoi donc? De plus, vous ne mentionnez pas les problèmes de compatibilité avec les logiciels 32 bits qui n'ont pas encore été convertis ou qui ont des bogues dans la conversion - pensez-vous que ce soit un problème? Il semble que c'était le cas, mais c'est peut-être une chose du passé.
Marty Fried
Bien sûr, le commentaire ci-dessus a un point à penser.
rɑːdʒɑ
@MartyFried Parfois, 64 bits est plus rapide que 32 bits parce que les compilateurs font mieux les choses pour 64 bits. Je ne me souviens pas des détails, alors peut-être que quelqu'un qui le fait peut développer cela, mais je pense que cela concerne la plus grande partie de la mémoire contiguë (même bien moins de 2 Go / 4Gib) qu'un programme peut allouer.
Eliah Kagan
2
Les autres choses à garder à l'esprit sont (1) 64 bits peuvent être plus rapides en raison de l'utilisation d'instructions ajoutées dans le jeu d'instructions AMD64 / EM64T (alors qu'avec 32 bits, la plupart des programmes sont compilés au plus petit dénominateur commun pour, au mieux) , i686) et (2) 64 bits peuvent être plus rapides sur les machines avec considérablement moins de 4 Gio de RAM car la mémoire RAM et la mémoire échangée sur le disque font toutes deux partie de l'espace mémoire virtuel de chaque programme et cet espace mémoire virtuel est adressé avec des pointeurs 32 bits sur un système 32 bits et des pointeurs 64 bits sur un système 64 bits. Pehraps izx peut parler de certains de ces problèmes.
Eliah Kagan
2
@EliahKagan: pensez-vous que ce Q pourrait être un bon candidat pour un canonique Q: "J'ai un processeur 64 bits mais moins de 4 Go de RAM. Quel noyau des trois dois-je choisir?"
ish
0

J'ai eu de sérieux problèmes avec 32 bits 12.04 avec certains logiciels (système de fichiers zfs), dévoilant les limitations vmalloc des systèmes 32 bits (j'ai essayé à la fois le paramétrage pae et non pae et vmalloc et depmod, à mort ... mais non Succès). Il s'agit probablement d'un cas particulier, mais qui pourrait être donné à titre d'exemple. La limitation quelque part au cœur des noyaux 32 bits est de 1 Go, même si jusqu'à 3,2 Go sont utilisables.

Optez pour 64 bits si vous le pouvez. Je suis à peu près sûr que Tou vcan ... Je suppose qu'à ce jour, il (= noyau 64 cpu) devrait être pris en charge par presque tous les systèmes en cours d'exécution. Plus tard, la "mise à niveau" est en quelque sorte difficile (cela signifie en fait la réinstallation, même si dpkg et la copie de / etc / et / home / peuvent aider à lancer une nouvelle installation ..), mais cela devrait quand même être acceptable. Je pense qu'il n'y a aucun problème à craindre avec le 64 bits, même si vous êtes obligé d'utiliser une application 32 bits ancienne / fermée ou certaines bibliothèques pour une raison quelconque.

coro
la source