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