Informations sur l'utilisation du réglage de RAM 4GT

Traductions disponibles Traductions disponibles
Numéro d'article: 171793 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article décrit la fonctionnalité de réglage de RAM 4GT incluse dans Windows NT Server Édition Entreprise version 4.0. Dans la version standard de Windows NT Server, la quantité de mémoire vive (RAM) par processus est limitée à 2 gigaoctets (Go). La fonctionnalité 4GT de Windows NT Server Édition Entreprise accroît cette limite à 3 Go sans introduire de nouvelles API. Pour ce faire, 4GT réduit de 2 Go à 1 Go la quantité de RAM potentielle octroyée au noyau de Windows NT.

La plupart des informations incluses dans cet article sont extraites des Notes de mise à jour du produit.

Plus d'informations

Les applications dédiées à la plate-forme Windows NT Server continuent à se développer, tant en taille qu'en exigences en matière de performances. Pour les applications exécutant des opérations d'entrée/sortie (E/S) intensives, telles que les systèmes de gestion de base de données (SGBD), l'utilisation d'un espace de traitement plus important peut optimiser de manière significative les performances, les opérations d'entrée/sortie intensives accédant moins souvent aux données. Dans la version actuelle de Windows NT Server, la limite est fixée à 2 Go par processus. 4GT porte cette limite à 3 Go sans introduire de nouvelles API. Pour ce faire, 4GT réduit de 2 Go à 1 Go la quantité de RAM potentielle octroyée au noyau de Windows NT.

Cette fonctionnalité convient particulièrement aux applications s'exécutant sur des ordinateurs puissants disposant de plus de 2 Go de RAM physique et capables de tirer parti d'un plus grand espace d'adressage. Les conséquences pour les développeurs et les applications sont répertoriées ci-après.

Windows NT Server Édition Entreprise prend en charge 4GT sur les serveurs à architecture Intel uniquement.

REMARQUE : la fonctionnalité 4GT fonctionne uniquement sur des processeurs 32 bits ; elle n'augmente pas la mémoire adressable de Windows NT Server au-delà de sa limite actuelle de 4 Go.

Écriture d'applications pour 4GT

Sélection d'adresse en mode utilisateur :

Lorsque la fonctionnalité 4GT est activée, il n'est pas possible d'utiliser le bit plus élevé d'une adresse virtuelle pour différencier les adresses en mode utilisateur des adresses en mode noyau.

Problèmes d'allocation de mémoire :

Lors du chargement, certains fichiers de bibliothèques de liens dynamiques (DLL) se rapprochent de la limite de 2 Go ; par conséquent, il existe une zone de l'espace de 2 Go dans laquelle il n'est pas possible d'allouer de la mémoire contiguë à l'aide de VirtualAlloc.

Effets visibles en mode noyau :

Le code en mode noyau ne peut plus supposer que la limite utilisateur/noyau se situe à 0x80000000 ou à tout autre chiffre. Le code utilisant les macros ProbeForRead ou ProbeForWrite doit être regénéré à l'aide de nouveaux en-tête ne partant plus du principe que l'espace noyau démarre à 0x80000000.

Activation de la prise en charge de 4GT dans vos applications

Les modifications requises en vue de la prise en charge de 4GT doivent être effectuées au niveau du système et des applications.

Modifications au niveau du système :

Après avoir installé Windows NT Server Édition Entreprise, vous devez modifier le fichier Boot.ini en vue de l'activation de 4GT. Pour activer 4GT, ajoutez simplement le paramètre /3GB à la ligne de démarrage.

REMARQUE : cette modification n'est effective que si vous utilisez Windows NT Server Édition Entreprise. Dans la version standard de Windows NT, cet indicateur déplacera le noyau, mais les applications ne seront pas en mesure d'accéder à plus de 2 Go.

Par exemple :
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Server Version 4.00" /3GB
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Server Version 4.00 [VGA mode]" /basevideo /sos
REMARQUE : les retours à la ligne ont été ajoutés pour des raisons de lisibilité.

Modifications au niveau des applications :

Aucune nouvelle API n'est requise pour la prise en charge de 4GT. Au lieu de cela, les allocations de mémoire demeurent inchangées, hormis les exceptions détaillées dans la section « Conseils pour une meilleure prise en charge de 4GT » ci-après. L'octroi automatique d'un espace d'adressage de 3 Go à chaque application ne serait toutefois pas efficace. Pour garantir une utilisation sélective de 4GT, le mécanisme suivant a été mis en ?uvre :
  • Vous devez définir le bit IMAGE_FILE_LARGE_ADDRESS_AWARE dans l'en-tête d'image des fichiers exécutables qui doivent avoir accès à l'espace d'adressage de 3 Go. Pour ce faire, vous pouvez avoir recours à l'outil Imagecfg qui est inclus dans le dossier Support du CD-ROM de Windows NT Server Édition Entreprise. Par exemple, pour modifier le fichier cible DBMSApp.exe, tapez la commande suivante à une invite de commandes :
    Imagecfg - DBMSApp.exe de l
REMARQUE : l'éditeur de liens comporte également un nouveau commutateur (/ LARGEADDRESSAWARE) qui permet de lier des fichiers exécutables dotés du bit IMAGE_FILE_LARGE_ADDRESS_AWARE. La définition de ce bit puis l'exécution de l'application sur un système ne prenant pas en charge 4GT ne devrait pas affecter l'application.

Conseils pour une meilleure prise en charge de 4GT

Les recommandations suivantes résument les modifications que les développeurs doivent prendre en compte avant l'activation de la prise en charge de 4GT dans leurs applications :
  • Utilisez GlobalMemoryStatus pour obtenir le montant d'espace virtuel total en mode utilisateur. Évitez d'utiliser des définitions de constantes codées en dur telles que « #define HIGHEST_USER_ADDRESS 0xC0000000 ». Essayez d'identifier la valeur réelle lors de l'exécution.

  • Évitez des comparaisons signées contenant des pointeurs. Cela risquerait de provoquer le blocage de certaines applications sur un système sur lequel 4GT a été activé. Une condition telle que « if (pointer > 40000000) » sera fausse pour un pointeur supérieur à 2 Go.

  • Tout code qui utilise le bit plus élevé pour référencer des éléments (valeur de données ou valeur d'adresse) échouera. Par exemple, un mot 32 bits peut être considéré comme une adresse en mode utilisateur s'il est inférieur à 0x80000000 et un code d'erreur s'il est supérieur à ce chiffre. Ce raisonnement n'est plus valide.

Définition de la taille du fichier d'échange

Si vous utilisez la fonctionnalité 4GT et que votre système dispose de plus de 3 Go de mémoire physique, vous pouvez envisager de modifier la taille par défaut de votre fichier d'échange. Cette modification s'effectue à l'aide de l'outil Système du Panneau de configuration. Dans Windows NT 3.51, la taille de fichier d'échange par défaut dépasse la mémoire physique de 11 Go. Dans Windows NT 4.0, la taille de fichier d'échange par défaut est égale à la quantité de mémoire physique du système. Sur un ordinateur de 4 Go, cela représente un fichier d'échange de 4,01 Go. Dans ce scénario, l'efficacité du fichier d'échange serait minimale, compte tenu de sa taille totale de 4 Go. En conséquence, un fichier d'échange de 256 Mo optimiserait l'utilisation de l'espace disque. Toutefois, un fichier d'échange de taille inférieure affectera la taille totale de la mémoire de validation pour les applications. Vous devez vérifier ces paramètres auprès de l'éditeur de logiciels pour vos applications exécutées avec la fonctionnalité 4GT.

Propriétés

Numéro d'article: 171793 - Dernière mise à jour: lundi 11 septembre 2006 - Version: 1.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows NT Server 4.0 Édition Entreprise
Mots-clés : 
kbhowto kbinfo KB171793
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com