[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Performance RAID instable



Le 20/10/2017 à 09:10, Seb a écrit :

Pourquoi 4 Go ? C'est un peu arbitraire.
As-tu essayé d'autres valeurs entre 4 et 8 Go ?

Il me semble que le PAE permet au noyau d'utiliser la RAM au-delà de 4 Go:

Cette formulation est ambiguë.

PAE étend l'espace d'adressage en mémoire physique des processeurs 32 bits de 4 Gio à 64 Gio. Mais cet espace ne contient pas que la RAM système. Il contient aussi les plages d'adresses des mémoires non volatiles du firmware de la carte mère et des périphériques internes comme la carte graphique, de la mémoire des mêmes périphériques permettant au système de transférer des données avec eux...

Le pseudo-fichier /proc/iomem recense les plages utilisées de l'espace mémoire physique.

Un système d'exploitation 32 bits sans PAE n'étant pas capable d'adresser au-delà de 4 Gio, toutes les plages autres que la RAM système doivent être accessibles à des adresses en-deça de cette limite. La plage d'adresse réservée aux périphériques est parfois appelée "PCI hole". Cela implique que la quantité de RAM système effectivement accessible à des adresses en-deça de 4 Gio sera nécessairement inférieure à 4 Gio, typiquement de l'ordre de 3,5 Go. Il ne faut pas confondre cette diminution avec la partie de la RAM système qui est réservée au GPU intégré.

La partie de la RAM système qui ne peut être adressée dans la plage en-deçà de 4 Gio est accessible à des adresses au-delà de 4 Gio donc uniquement par un système 32 bits avec PAE ou 64 bits.

Si par "au-delà de 4 Gio" tu voulais parler des adresses, alors oui. Mais si tu voulais parler de la quantité, alors non, la limite est plus basse notamment à cause du "PCI hole". Utiliser 4 Gio de RAM avec un système 32 bits requiert PAE.

Je me suis dit que le noyau devait avoir des fonctions pour des RAM d'au plus 4 Go, et des astuces en plus pour les RAM au-delà, et que ce sont ces dernières qui sont actuellement buguées. Comme « ça marche », l'hypothèse a l'air correcte. Mais effectivement, non, je n'ai pas tenté 6 Go. Je ne vois pas de raison pour que ça marche.

PAE n'est pas juste une fonction qu'on active uniquement pour accéder aux adresses mémoire au-delà de 4 Gio. C'est une réorganisation permanente de la façon d'accéder à la mémoire physique. Avec un noyau PAE, les mécanismes de PAE sont à l'oeuvre quelle que soit la quantité de mémoire utilisable ou utilisée.

Bref, tout ça pour dire que la limite de 4 Gio de RAM que tu as fixée est arbitraire du point de vue de PAE car elle est déjà supérieure à la quantité utilisable sans PAE.

Par contre je me rappelle un commentaire de Linus Torvalds il y a déjà fort longtemps disant en substance qu'au-delà de 8 Gio de RAM, il valait mieux utiliser un noyau 64 bits car la gestion d'une telle quantité de mémoire par un noyau 32 bits avec PAE risquait d'être moins performante. Il ne faut pas oublier que même avec PAE l'espace d'adressage en mémoire virtuelle reste limité à 4 Gio, et l'espace réservé au noyau dans celui-ci à 1 Gio (3 Gio pour le processus).


Reply to: