Adresse Windows Server 32 bits> 4 Go de RAM - Comment?

8

Ce sont des nouvelles pour moi. J'avais toujours l'impression que le système d'exploitation 32 bits ne pouvait traiter que 2 ^ 32, soit 4 Go de RAM. Période.

Mais qu'est-ce que c'est - http://www.crucial.com/uk/kb/answer.aspx?qid=3743&click=true ?

Comment est-ce possible? Et cela signifie-t-il encore> 4 Go par processus? c'est-à-dire que si j'ai IIS, ASP.NET peut-il être alloué plus de 4 Go?

Edit: Merci pour les réponses. Pour mettre cela en contexte, c'est pour le développement web. Il semble donc que w3wp.exe (ASP.NET Worker Process) sera toujours limité à 4 Go? Est-ce vrai?

Merci Duncan

Duncan
la source
Un peu de recherche sur Google peut révéler des citations raisonnables affirmant que IIS n'a pas de support pour AWE, donc je pense qu'il est assez sûr de supposer que vous ne pouvez pas lui allouer plus de 3 Go (4 Go - surcharge du système).
ConcernedOfTunbridgeWells

Réponses:

14

La MMU de certains processeurs 32 bits peut en fait prendre en charge plus de 4 Go de RAM physique, bien qu'un seul processus ne puisse voir que 4 Go à la fois dans son espace d'adressage virtuel. Un processeur de ce type peut être équipé de plus de 4 Go de RAM et peut prendre en charge plusieurs processus utilisant plus de 4 Go de RAM au total. Cependant, un seul processus ne peut utiliser que 4 Go de RAM (moins une surcharge du système d'exploitation) à un moment donné.

Sur le Xeon, cette fonctionnalité est connue sous le nom d'extension d'adresse physique (PAE) et certains systèmes d'exploitation ont des API qui permettent à un processus de manipuler la MMU pour permuter la mémoire physique dans et hors de l'espace d'adressage virtuel du processus. Sous Windows, cette API est connue sous le nom d' Extension Windowing Extensions (AWE) mais elle n'est pas disponible sur toutes les versions de Windows. Linux et d'autres espèces d'Unix prennent en charge un mécanisme similaire.

Pour utiliser cette fonctionnalité, le programme doit être explicitement conçu pour le prendre en charge - AWE n'étend pas automatiquement l'espace d'adressage virtuel du processus. Par exemple, certaines versions de SQL Server le prennent en charge, bien que je ne sache pas qu'IIS le fait.

EDIT: C'est parti. Je l'ai trouvé. Cette publication sur Stackoverflow vous donne plus de détails sur la mécanique de PAE.

Edit 2: Si l' on doit croire cette publication sur le forum, IIS ne prend pas en charge AWE.

ConcernedOfTunbridgeWells
la source
4

L'adressage de plus de 4 Go sur 32 bits est possible avec PAE . Pour la limite de mémoire de processus, vous pouvez lire les informations générales de Windows de Bruce Sanderson; RAM, mémoire virtuelle, PageFile et tout ça

Pour la mémoire par processus, lisez les sections 1.2 («Espaces d'adresses et processus») et 2.5 («Réglage de la mémoire d'application - commutateur 3 Go») sur le lien Informations générales sur Windows ci-dessus.

rayon
la source
2

Juste pour le noter ici pour mémoire, les versions haut de gamme de Windows 2003 (Enterprise et Data Center) fonctionnent avec> 4 Go. J'avais un HP DL380 avec 14 Go de RAM et W2K3 EE a vu tous les 14 Go. VMWare Server a pu utiliser plus de 4 Go. Nous avons remplacé W2K3 par ESXi 3.5 U3 et il est capable d'utiliser tous les 14 Go.

D'après ma lecture, Microsoft a essayé de l'activer sur d'autres versions de Windows (comme XP) et a constaté que de nombreux pilotes avaient des problèmes lorsque la mémoire était> 4 Go. Au moins une partie du problème était DMA (les adresses mémoire du matériel seraient tronquées à 32 bits et commenceraient à corrompre la mémoire). Il y avait donc un SP qui s'est débarrassé de PAE pour la plupart des anciennes versions de Windows pour éviter les problèmes de stabilité.

Walter
la source