inform.gif (70 octets) RAM : limite de taille ?

Si en principe les cartes mères actuelles, épaulées par leurs chipsets, sont capable d'adresser jusqu'à plusieurs Go de RAM, une trop grande quantité de RAM n'ira pas nécessairement sans problème pour Windows 9x. A dire vrai, toutes les versions grand public de Windows sont touchées par ce problème, ni Windows NT 4 ni Windows 2000/XP ne l'étant. Si l'on en croit la Knowledge Base de Microsoft (Q253912) la limite en taille de la RAM au-delà de laquelle Windows 95/98/ME peuvent rencontrer des difficultés serait de 512 Mo (mais il existe une autre limite que l'on verra plus loin). 

Le dépassement de cette limite peut générer des erreurs diverses et notamment le blocage du PC. Parfois, le système répond qu'il manque de la mémoire (ouverture d'une session DOS) et recommande de fermer plusieurs applications pour libérer de l'espace mémoire...
Personnellement, je n'ai réalisé des essais qu'avec 512 Mo de RAM et 640 Mo (2 barrettes de 256 Mo et 1 de 128 Mo). Sur une quarantaine de minutes d'utilisation, pas d'erreur ou de comportement suspect à signaler hormis le Gestionnaire de périphérique qui indiquait que mon processeur était devenu un Celeron (au lieu d'un P-III). Bref, pas de quoi fouetter un chat, mais il est à peu près certain qu'à l'usage des erreurs plus agaçantes doivent se manifester. Par ailleurs, ainsi que je m'y attendais, je n'ai pas vraiment noté d'amélioration époustouflante en passant de 256 Mo à 512 Mo en usage courant. On le sait tous, mais autant le rappeler ici, ce surcroît de mémoire ne présente d'intérêt que pour des applications ou des travaux spécifiques. A titre d'exemple, le calcul d'un fichier LOG d'un serveur FTP (taille du fichier d'environ 1,5 Go) était effectivement plus fluide qu'avec la configuration 256 Mo. Il en serait allé sûrement de même lors de travaux sur des images de grande taille.

Bref, on a pas dit non plus que Windows 98/ME ne pouvaient pas embarquer plus de 512 Mo de RAM.

Microsoft recommande plusieurs solutions à commencer par modifier la taille limite de Vcache dans le fichier System.ini, soit 524.288 Ko ou moins. On peut également passer par MSCONFIG (Démarrer --> Exécuter "Msconfig" et aller dans les options avancées où l'on trouvera une option pour fixer manuellement la limite de la RAM utilisée par le système. Vcache a par ailleurs sa propre limite interne qui est de 800 Mo. L'autre solution consiste tout simplement selon Microsoft à retirer physiquement la mémoire en "trop". Solution à peine satisfaisante si l'on songe aux PC dotés d'autres systèmes d'exploitation que Windows 9x et ME et qui eux gèrent sans mal plus de 512 Mo de RAM (2000/XP pour ne citer que les OS de MS).

Par ailleurs, les difficultés éventuellement rencontrées ne sont pas incontournables et cela signifie que moyennant la correction à opérer sur les paramètre du fichier Vcache, Windows 9x/ME peuvent parfaitement embarquer plus de 512 Mo de RAM (c'est ensuite le matériel - la carte mère essentiellement - qui pourra le cas échéant imposer une limite).

Si la manipulation indiquée plus haut ne résout pas forcément tous les problèmes puisqu'il s'agit de limiter l'adressage de Vcache (cache disque), on peut déclarer au système une taille limite de la RAM embarquée. Pour déclarer au système qu'il n'existe pas plus de 512 Mo de RAM, il faut aller toujours dans le fichier System.ini à la section [386 Enh] mais cette fois fois en écrivant cette ligne : MaxPhysPage=<xxx>. Le terme "xxx" désigne le nombre (exprimé en hexadécimal) de pages mémoire disponibles pour Windows, chaque page mesurant 4096 octets (soit 512 bits).

Illustration : sachant que 1 Mo est égal à 1.048.576 octets, si l'on possède 64 Mo de RAM, cela fait :

(1048576 * 64) / 4096 = 16.384 en mode décimal et 04000 en mode hexadécimal. Ci-après, un tableau des valeurs reproduit à partir du site de Microsoft (Q181862) :

Mémoire disponible
 sous Windows
Octets MaxPhysPage

1024

1.073.741.824

MaxPhysPage=40000

960

1,006,632,960

MaxPhysPage=3C000

896

939,524,096

MaxPhysPage=38000

832

872,415,323

MaxPhysPage=34000

768

805,306,368

MaxPhysPage=30000

704

738,197,504

MaxPhysPage=2C000

640

671,088,640

MaxPhysPage=28000

576

603,979,776

MaxPhysPage=24000

512

536,870,912

MaxPhysPage=20000

448

469,762,048

MaxPhysPage=1C000

384

402,653,184

MaxPhysPage=18000

320

335,544,320

MaxPhysPage=14000

256

268,435,456

MaxPhysPage=10000

224

234,881,024

MaxPhysPage=0E000

192

201,326,592

MaxPhysPage=0C000

160

167,772,160

MaxPhysPage=0A000

128

134,217,728

MaxPhysPage=08000

96

100,663,296

MaxPhysPage=06000

88

92,274,688

MaxPhysPage=05800

80

83,886,080

MaxPhysPage=05000

72

75,497,472

MaxPhysPage=04800

64

67,108,864

MaxPhysPage=04000

56

58,720,256

MaxPhysPage=03800

48

50,331,648

MaxPhysPage=03000

40

41,943,040

MaxPhysPage=02800

32

33,554,432

MaxPhysPage=02000

24

25,165,824

MaxPhysPage=01800

16

16,777,216

MaxPhysPage=01000

12

12,582,912

MaxPhysPage=00C00

08

8,388,608

MaxPhysPage=00800

 

Limite de 1 Go de RAM ? L'article n°Q304943 de la KB de MS précise que ni Windows 98, ni Windows ME ne sont prévus pour gérer plus de 1 Go de RAM et qu'installer plus de 1 Go de RAM peut conduire à l'instabilité du système et notamment des redémarrages de la machine en boucle ou à un blocage total. Il est alors préconisé de déclaré cette limite sur la base du modèle indiqué plus haut : MaxPhysPage=40000. Curieusement, MS recommande une valeur inférieure (correspondant à 768 de RAM) dans un autre article (Q184447) mais il est vrai que l'article en cause n'est consacré qu'à Windows 95 et 98.


Mis en ligne le 7 novembre 2000 / Dernière modification : 03-11-2001