Comment faire pour configurer les zones de mémoire d'adresse paginée et de mémoire des tables de pages système

Traductions disponibles Traductions disponibles
Numéro d'article: 247904 - Voir les produits auxquels s'applique cet article
IMPORTANT : cet article contient des informations sur la modification du Registre. Avant de modifier le Registre, pensez à le sauvegarder et assurez-vous que vous savez le restaurer en cas de problème. Pour plus d'informations sur la sauvegarde, la restauration et la modification du Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
256986 Description du Registre de Microsoft Windows
Agrandir tout | Réduire tout

Résumé

Cet article explique comment régler la taille zones de mémoire d'adresse paginée et de mémoire des tables de pages système sur les ordinateurs Windows 2000 qui exécutent le service Microsoft Terminal Server.

Plus d'informations

AVERTISSEMENT : toute mauvaise utilisation de l'Éditeur du Registre peut générer des problèmes sérieux, pouvant vous obliger à réinstaller votre système d'exploitation. Microsoft ne peut pas garantir que les problèmes résultant d'une mauvaise utilisation de l'Éditeur du Registre puissent être résolus. Vous assumez l'ensemble des risques liés à l'utilisation de cet outil.

Windows 2000 peut adresser directement jusqu'à 2^32 octets ou 4 gigaoctets (Go) d'espace d'adressage, indépendamment de la quantité de mémoire vive (RAM) installée. Par défaut, 2 Go de cet espace d'adressage sont affectés à chaque processus, et 2 Go sont affectés au noyau. Alors que des régions distinctes de 2 Go d'espace d'adressage sont utilisées pour chaque processus exécuté sur l'ordinateur, la plus grande partie de la zone de noyau de 2 Go est globale et demeure la même quel que soit le processus en mode utilisateur qui est actuellement actif.

La zone de noyau de 2 Go contient toutes les structures et les informations de données système. Par conséquent, la zone d'espace d'adressage du noyau de 2 Go peut imposer une limite au nombre de structures de données système et au volume d'informations de noyau qui peuvent être stockées sur un ordinateur, indépendamment de la quantité de mémoire vive (RAM) installée.

Les deux types des données qui partagent une partie de cette zone d'adresse de 2 Go sont des allocations de pool paginé et des allocations de pile de noyau . Les allocations de pool paginé sont des allocations de mémoire effectuées par les composants noyau. Les allocations de pile de noyau sont créées dans le noyau pour chaque thread à utiliser pour l'établissement d'appels système. Les allocations de pool paginé sont effectuées dans la zone de pool paginé tandis que les allocations de pile de noyau sont effectuées dans la zone des tables de pages système.

Alors que ces différentes allocations partagent la même zone, la partition entre elles est définie au démarrage. Si le système d'exploitation manque d'espace dans l'une de ces zones, l'autre zone ne peut lui concéder d'espace, et les programmes peuvent commencer à rencontrer des erreurs inattendues. Par conséquent, lorsque vous constatez des erreurs inattendues ou une incapacité à accepter de nouvelles ouvertures de session sur un ordinateur Windows 2000, et si ce dernier ne comporte aucune autre limitation de ressource que des goulots d'étranglement d'UC ou de disque, il est fort probable que le pool paginé ou les tables de pages système commencent à manquer d'espace disque. Étant donné que, par défaut, la zone dédiée aux tables de pages système est d'une taille aussi importante que possible sur un ordinateur avec les services Terminal Server activés, la limitation est généralement due à un espace d'adressage insuffisant pour le pool paginé. Par chance, sur certains ordinateurs, la zone dédiée aux tables de pages système peut être configurée pour être plus petite, ce qui permet d'alléger ces symptômes et d'autoriser l'accès d'un plus grand nombre d'utilisateurs à l'ordinateur.

Pour déterminer si votre ordinateur manque d'espace pour une ou plusieurs de ces ressources, procédez comme suit :
  1. Reliez un débogueur de noyau à l'ordinateur.
  2. Utilisez un éditeur de texte pour ajouter le paramètre /DEBUG dans le fichier Boot.ini.
  3. Redémarrez l'ordinateur.
Pour plus d'informations sur l'utilisation d'un débogueur de noyau, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
151981 Comment faire pour configurer une session de débogage distant à l'aide d'un câble null modem
Lorsque vous estimez que le système a atteint une limite :
  1. Provoquez une interruption dans le débogueur.
  2. Tapez !vm , puis appuyez sur ENTRÉE.
  3. Si la sortie du débogueur n'indique aucune erreur, tapez !reload, puis appuyez sur ENTRÉE, afin de vous assurer que vous avez les symboles corrects.
Voici un exemple de session de débogage. Les données importantes sont indiquées en caractères gras pour plus de lisibilité :

*** Virtual Memory Usage ***
Physical Memory: 1032075 ( 4128300 Kb)
Page File: \??\C:\pagefile.sys
Current: 4190208Kb
Minimum: 4190208Kb
Maximum: 4190208Kb
Available Pages: 599741 ( 2398964 Kb)
ResAvail Pages: 894259 ( 3577036 Kb)
Modified Pages: 757 ( 3028 Kb)
NonPagedPool Usage: 15084 ( 60336 Kb)
NonPagedPool Max: 71586 ( 286344 Kb)
PagedPool 0 Usage: 22953 ( 91812 Kb)
PagedPool 1 Usage: 4324 ( 17296 Kb)
PagedPool 2 Usage: 4315 ( 17260 Kb)
PagedPool 3 Usage: 4360 ( 17440 Kb)
PagedPool 4 Usage: 4366 ( 17464 Kb)
********** Excessive Paged Pool Usage *****
PagedPool Usage: 40318 ( 161272 Kb)
PagedPool Maximum: 40960 ( 163840 Kb)
Shared Commit: 30133 ( 120532 Kb)
Special Pool: 0 ( 0 Kb)
Free System PTEs: 47920 ( 191680 Kb)
Shared Process: 99141 ( 396564 Kb)
PagedPool Commit: 40318 ( 161272 Kb)
Driver Commit: 770 ( 3080 Kb)
Committed pages: 822746 ( 3290984 Kb)
Commit limit: 2037826 ( 8151304 Kb)
Total Private: 545122 ( 2180488 Kb)
L'entrée "********** Excessive Paged Pool Usage *****" dans cette sortie indique un ordinateur qui manque de ressources de pool paginé. Cela peut être confirmé par l'entrée PagedPool Usage qui indique une valeur proche de celle de l'entrée PagedPool Maximum.

Pour pouvoir configurer la partition entre l'espace des tables de pages système et l'espace du pool paginé sur un ordinateur avec une nouvelle installation de Windows 2000, il est nécessaire que l'ordinateur manque de ressources de pool paginé et qu'il lui reste un volume important d'espace libre pour les tables de pages système. Le volume d'espace libre pour les tables de pages système doit être au moins de 40 000 kilo-octets. Si l'ordinateur manque d'espace libre pour les tables de pages système, vous ne pouvez pas appliquer la méthode suivante pour permettre l'accès d'un plus grand nombre d'utilisateurs au serveur Terminal Server.

Pour régler l'ordinateur sur un équilibrage optimal entre l'espace de pool paginé et l'espace pour les tables de pages système, procédez comme suit :
  1. Redémarrez l'ordinateur, puis ouvrez une session.
  2. Provoquez une interruption dans le débogueur, tapez !vm, puis appuyez sur ENTRÉE.
  3. Notez les valeurs de PagedPool Maximum, PagedPool Used et Free System PTEs. Ces valeurs sont en kilo-octets et indiquées entre parenthèses.
  4. Sur l'ordinateur hôte de débogage, tapez g, puis appuyez sur ENTRÉE.
  5. Sur l'ordinateur cible, ouvrez 10 sessions utilisateurs Terminal Server, et conservez-les toutes ouvertes. Ne dérangez pas le serveur, sauf indication contraire dans la présente procédure.
  6. Pour les 10 sessions, démarrez tous les programmes susceptibles d'être lancés simultanément par les utilisateurs. Cela doit être un exemple représentatif de vos utilisateurs. Les programmes exécutés par ces sessions doivent être représentatifs de ceux qui sont lancés par tous les utilisateurs du système à un moment donné dans votre environnement de production normal. Pour de meilleurs résultats, tous les utilisateurs distants doivent exécuter quelques actions considérées normales pour les programmes qu'ils exécutent. Par exemple, les utilisateurs d'un programme de traitement de texte entrent du texte, ou dans un programme de gestion d'activité, les utilisateurs entrent quelques commandes.
  7. Provoquez une interruption dans le débogueur, tapez !vm, puis appuyez sur ENTRÉE.
  8. Notez les valeurs de PagedPool Used et Free System PTEs.
  9. Exécutez les calculs suivants :

    1. volume de pool paginé par utilisateur=(volume de pool paginé utilisé au final-volume de pool paginé initialement)/10

      volume de pool paginé par utilisateur est le volume de pool paginé par utilisateur, volume de pool paginé utilisé au final est le volume de pool paginé utilisé au final, et volume de pool paginé initialement est le volume de pool paginé utilisé initialement.
    2. volume d'espace pour les tables de pages système par utilisateur=(volume d'espace libre initial pour les tables de pages système-volume d'espace libre final pour les tables de pages système)/10

      volume d'espace pour les tables de pages système par utilisateur est le volume d'espace pour les tables de pages système par utilisateur, volume d'espace libre initial pour les tables de pages système est le volume d'espace libre initial pour les tables de pages système, et volume d'espace libre final pour les tables de pages système est le volume d'espace libre final pour les tables de pages système.
  10. Pour modifier le Registre :

    1. Déterminez l'espace d'adressage virtuel disponible ainsi que l'espace virtuel nécessaire par utilisateur :

      espace_virtuel_disponible = espace_maximum_pool_paginé + espace_libre_initial_tables_pages_système - espace_initial_pool_paginé

      espace_virtuel_disponible est le volume d'espace virtuel disponible, espace_maximum_pool_paginé est le volume d'espace maximum du pool paginé, espace_libre_initial_tables_pages_système est le volume d'espace initialement libre pour les tables des pages système, et espace_initial_pool_paginé est le volume de pool paginé utilisé initialement.
    2. À l'aide de la formule suivante, déterminez le volume d'espace virtuel requis par utilisateur :

      espace_virtuel_par_utilisateur = pool_paginé_par_utilisateur + espace_tables_pages_système_par_utilisateur

      espace_virtuel_par_utilisateur est le volume d'espace virtuel requis par utilisateur, pool_paginé_par_utilisateur est le volume de pool paginé par utilisateur, et espace_tables_pages_système_par_utilisateur est le volume d'espace pour les tables de pages système par utilisateur.
    3. À l'aide de la formule suivante, déterminez le nombre d'utilisateurs qui pourrait théoriquement être pris en charge par cet ordinateur :

      nombre_max_utilisateurs = espace_virtuel_disponible / espace_virtuel_par_utilisateur

      nombre_max_utilisateurs est le nombre maximal d'utilisateurs, espace_virtuel_disponible est le volume d'espace virtuel disponible, et espace_virtuel_par_utilisateur est le volume d'espace virtuel par utilisateur.
    4. À l'aide de la formule suivante, déterminez le volume d'espace nécessaire pour les tables de pages système :

      tables_pages_système_requises = tables_pages_système_par_utilisateur x nombre_max_utilisateurs

      tables_pages_système_requises est le nombre de tables de pages système requises, tables_pages_système_par_utilisateur est le nombre de tables de pages système par utilisateur, et nombre_max_utilisateurs est le nombre maximal d'utilisateurs.
    5. À l'aide des formules suivantes, calculez le nombre de tables de pages système et de pages système excédentaire :
      tables_pages_système_excédentaires= tables_pages_système_initiales_libres - tables_pages_système_requises

      tables_pages_système_excédentaires est le nombre de tables de pages système excédentaires, tables_pages_système_initiales_libres est le nombre de tables de pages système initialement libres, et tables_pages_système_requises est le montant de tables de pages système requises.
      AVERTISSEMENT : toute mauvaise utilisation de l'Éditeur du Registre peut générer des problèmes sérieux, pouvant vous obliger à réinstaller votre système d'exploitation. Microsoft ne peut pas garantir que les problèmes résultant d'une mauvaise utilisation de l'Éditeur du Registre puissent être résolus. Vous assumez l'ensemble des risques liés à l'utilisation de cet outil.

    6. À partir d'une invite de commandes, utilisez l'Éditeur de Registre (Regedit32.exe) pour remplacer la valeur SystemPages dans HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages par la valeur calculée à l'aide de la formule suivante :

      pages_système = 50 000 - (PTEexcess / 4) (arrondi à l'entier le plus proche.)

      pages_système est le nombre de pages système, et PTEexcess est le nombre de pages système excédentaire.

      Si la valeur calculée de PageSystème est inférieure à 7 000, définissez la valeur sur 7 000. Si la valeur calculée est supérieure à 50 000, votre limite d'espace d'adressage est déjà configurée pour le nombre d'utilisateurs maximal.
    7. Redémarrez l'ordinateur, provoquez une interruption dans le débogueur, tapez !vm, puis appuyez sur ENTRÉE.
    8. Vérifiez que le pool paginé maximum a augmenté et que l'espace des tables de pages système a diminué.

Propriétés

Numéro d'article: 247904 - Dernière mise à jour: vendredi 15 juin 2007 - Version: 2.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
Mots-clés : 
kbenv kbhowto KB247904
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