Numéro d'article: 232476 - Dernière mise à jour: jeudi 11 mai 2006 - Version: 3.0

Les connexions et les ouvertures de session de clients Terminal Server sont limitées par les valeurs MaxWorkItems et MaxMpxCT

A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.
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  (http://support.microsoft.com/kb/256986/ ) Description du Registre de Microsoft Windows

Sommaire

Agrandir tout | Réduire tout

Symptômes

Après que plusieurs clients Terminal Server ont établi une session avec un serveur Microsoft Windows NT Server 4.0, Édition Terminal Server, des clients supplémentaires ne peuvent pas se connecter. Lorsque cela se produit, dans certains cas, les clients ne peuvent pas accéder à certains serveurs ou contrôleurs de domaine après qu'un nombre spécifique de sessions clientes ont été établies. Les symptômes constatés peuvent varier, mais ce problème peut être résolu par la solution ci-dessous.

Ce comportement n'est pas affecté par le nombre de licences en place ni par le service d'enregistrement de licence sur l'ordinateur Terminal Server ou le contrôleur de domaine. Ce problème peut se produire avec des clients Independent Computing Architecture ou Protocole Bureau à distance et les clients peuvent recevoir l'un des messages d'erreur suivants :
Le système n'a pas pu ouvrir de session car le domaine nom_domaine n'est pas disponible
- ou -
Vous ne disposez pas des droits d'accès pour vous connecter à cette session
Les clients peuvent utiliser la commande net view, net use ou ping pour contacter d'autres serveurs et ressources de domaine sans difficulté. Dans certains cas, après 20 ou 30 minutes, des clients supplémentaires peuvent se connecter avant que de nouvelles connexions soient de nouveau refusées. L'utilisation du processeur est en général très basse et le problème peut se produire indépendamment de la vitesse du processeur, du nombre de processeurs ou de la quantité de mémoire vive (RAM, Random Access Memory) installée sur l'ordinateur Terminal Server ou les contrôleurs de domaine.

Si l'ordinateur Terminal Server est un serveur membre, aucune entrée du journal Système de l'Observateur d'événements ne peut apparaître. Sur les contrôleurs de domaine, le journal Système de l'Observateur d'événements de l'ordinateur Terminal Server peut contenir l'une des entrées suivantes (ou les deux) :
Erreur 1727 : L'appel de procédure distante a échoué sans s'exécuter
- ou -

ID de l'événement : 1311
Source : NetLogon
Description : Aucun serveur d'accès n'est actuellement disponible pour traiter la demande d'ouverture de session.

Les autres messages d'erreur RPC suivants peuvent également apparaître :
Erreur 1722 : Le serveur RPC n'est pas disponible.
Erreur 1723 : Le serveur RPC est trop occupé pour terminer cette opération.
Erreur 1721 : Ressources insuffisantes pour accomplir cette opération.
Événement Netlogon 5719 :
Aucun contrôleur de domaine Windows NT n'est disponible pour le domaine nom_domaine.
L'erreur suivante s'est produite :
Aucun serveur d'accès n'est actuellement disponible pour traiter la demande d'ouverture de session.

Résolution

Pour résoudre ce problème, vous devez modifier les valeurs existantes ou ajouter les entrées de Registre suivantes pour MaxWorkItems et MaxMpxCt sur les serveurs auxquels les clients demandent des ressources. Par défaut, MaxWorkItems et MaxMpxCt n'apparaissent pas sous la clé Parameters, bien qu'ils soient appliqués.

MaxMpxCt permet à un serveur de se fournir à lui-même un nombre maximal suggéré de demandes client simultanées, puis il met en vigueur ces limites. Chaque connexion cliente générant plusieurs instances (par exemple, shell Windows et Explorer.exe), avec plusieurs clients qui se connectent au serveur, elles peuvent être supérieures au paramètre MaxMpxCt par défaut (50). Dès que cette limite est atteinte pour ce serveur, les demandes supplémentaires sont refusées jusqu'à ce que leur nombre redescende sous la limite définie.

Remarque : ces valeurs doivent être ajoutées avec un quotient tel que la valeur de MaxWorkItems est au moins quatre fois supérieure à celle de MaxMpxCt. Par exemple, si MaxMpxCt a une valeur de 1 024, MaxWorkItems doit avoir une valeur d'au moins 4 096.

Windows NT

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 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.
  1. Démarrez l'Éditeur du Registre.
  2. Recherchez la clé suivante dans le Registre :
    HKEY_LOCAL__MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters
  3. Double-cliquez sur la valeur MaxWorkItems, tapez 4096, cliquez sur Décimal, puis sur OK.

    La valeur numérique que vous entrez est arbitraire et vous pouvez également entrer 8 192, 16 384 ou 32 768 si vous le souhaitez. Toutefois, Microsoft recommande de commencer aux niveaux inférieurs et de progresser vers le haut selon les besoins, en doublant la valeur à chaque fois. La plage de cette valeur est de un à 65 535. Si cette valeur existe déjà, mais que vous rencontrez des problèmes semblables à ceux décrits précédemment, modifiez cette entrée et doublez sa valeur actuelle mais sélectionnez une valeur minimale de 4 096. Par exemple, si la valeur affichée est 2 048, spécifiez 4 096. Si les problèmes persistent, continuez cette procédure jusqu'à ce que le problème disparaisse.

    Remarque : cette valeur doit être au moins quatre fois supérieure à la valeur de MaxMpxCt.
  4. Si la valeur MaxWorkItems n'existe pas dans la clé
    Parameters
    , dans le menu Edition, cliquez sur Ajouter une valeur, puis ajoutez la valeur de Registre suivante :
    Nom de la valeur : MaxWorkItems
    Type de données : REG_DWORD
    Valeur : 4096
  5. Double-cliquez sur la valeur MaxMpxCt, tapez 1024, cliquez sur Décimal, puis sur OK.

    La valeur par défaut de MaxMpxCt est 50, mais n'oubliez pas que MaxWorkItems doit être au moins quatre fois supérieure au nombre utilisé pour MaxMpxCt.

    Remarque : les clients Windows 95 et Windows 98 peuvent interpréter cette entrée de Registre différemment de Windows NT ; vous devez donc appliquer cette valeur en fonction du client utilisé. Pour plus d'informations sur la façon dont les clients Windows 95 et Windows 98 interprètent cette entrée de Registre différemment de Windows NT, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
    232890  (http://support.microsoft.com/kb/232890/ ) Client Windows 98 incapable de se connecter à un partage Windows NT
  6. Si la valeur MaxMpxCt n'existe pas dans la clé Parameters, dans le menu Edition, cliquez sur Ajouter une valeur, puis ajoutez la valeur de Registre suivante :
    Nom de la valeur : MaxMpxCt
    Type de données : REG_DWORD
    Valeur : 1024 (décimal)
    Important : lorsque vous ajoutez cette valeur au Registre d'un ordinateur Windows 95, Windows 98 et Windows 98 Deuxième Édition, définissez cette valeur sur 510 décimal (ou 1fe hexadécimal). Si des clients Windows 95, Windows 98 et Windows NT sont présents, la valeur de MaxMpxCt doit être définie sur la valeur par défaut utilisée pour Windows 95 et Windows 98 car Windows NT lit la valeur sans problèmes.
  7. Fermez l'Éditeur du Registre et redémarrez l'ordinateur.

Windows 2000

Remarque : vous pouvez constater une certaine lenteur de la réponse réseau et des performances de copie de fichiers lorsque de nombreuses personnes utilisent le serveur Terminal Server.

Sur un ordinateur Windows 2000 SP2 ou version ultérieure, procédez comme suit :
  1. Démarrez l'Éditeur du Registre.
  2. Recherchez, puis cliquez sur la valeur MaxCmds sous la clé de Registre suivante :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation \Parameters
  3. Dans le menu Edition, cliquez sur DWORD, tapez 500, puis cliquez sur OK.
  4. Quittez l'Éditeur du Registre.
  5. Sur le serveur distant, démarrez l'Éditeur du Registre.
  6. Recherchez la clé suivante dans le Registre, puis cliquez dessus :
    HKEY_LOCAL__MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters
  7. Dans le menu Edition, cliquez sur Ajouter une valeur, puis ajoutez les valeurs de Registre suivantes :
    Nom de la valeur : MaxWorkItems
    Type de données : REG_DWORD
    Base : Décimale
    Données de la valeur : 8192

    - et -

    Nom de la valeur : MaxMpxCt
    Type de données : REG_DWORD
    Base : Décimale
    Données de la valeur : 500
    Remarque : vous devrez peut-être augmenter ces valeurs si la clé de Registre ne fonctionne pas.
  8. Quittez l'Éditeur du Registre.
  9. Redémarrez les deux serveurs.
Pour plus d'informations sur l'impossibilité pour les clients de se connecter, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
232890  (http://support.microsoft.com/kb/232890/ ) Client Windows 98 incapable de se connecter à un partage Windows NT
Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
271148  (http://support.microsoft.com/kb/271148/ ) Limites MaxMpxCt et MaxCmds dans Windows 2000

Plus d'informations

Valeur MaxWorkItems par défaut

Cette valeur spécifie le nombre maximal de tampons de réception, ou d'éléments de travail, que le service Serveur est autorisé à allouer à un moment donné. Si cette limite est atteinte, le transport doit initier un contrôle de flux, ce qui peut réduire considérablement les performances. Dans certains cas, ce problème peut également se traduire par l'impossibilité d'établir de nouvelles connexions au serveur.

Il n'y a aucune valeur par défaut définie pour cette entrée car elle est déterminé par la configuration matérielle de l'ordinateur et le service Serveur et peut nécessiter un réglage. Des programmes tiers peuvent également exiger de définir cette valeur à un nombre plus élevé.

Windows NT utilise les paramètres d'optimisation du service Serveur et la configuration matérielle pour aider à déterminer la valeur par défaut de MaxWorkItems. Les choix d'optimisation du serveur sont répertoriés dans les propriétés de serveur lorsque vous cliquez sur l'onglet Services dans l'outil Réseau du Panneau de configuration. Windows NT configure la valeur de la manière suivante :
(4*(Mo*ParamPerfServeurSMB)*VersionOS/1)*(#Processeurs)
où :
Mo = mégaoctets de RAM sur le serveur
ParamPerfServeurSMB = 0,5 si « Minimiser la mémoire utilisée »
ParamPerfServeurSMB = 1 si « Équilibrer »
ParamPerfServeurSMB = 2 si « Maximiser le débit des données pour le partage de fichiers »
VersionOS = 2 en cas d'exécution de NTServer avec plus de 16 Mo de RAM
#Processeurs = nombre de processeurs dans le système
Par exemple, pour un serveur avec un processeur configuré pour Maximiser le débit des données pour le partage de fichiers, les calculs pour 24 Mo et 56 Mo de RAM sont respectivement les suivants :
(4 * ( 24 * 2 ) * 2 / 1) * 1 = 384

(4 * ( 56 * 2 ) * 2 / 1) * 1 = 896

Valeur MaxMpxCt par défaut

Cette valeur permet à un serveur de fournir un nombre maximal suggéré de demandes client en suspens simultanées à un serveur particulier. Durant la négociation du dialecte Server Message Block, cette valeur est passée au redirecteur du client sur lequel la limite de demandes en suspens est appliquée. Une valeur plus élevée peut accroître les performances du serveur, mais cela requiert une plus grande utilisation d'éléments de travail serveurs (MaxWorkItems). Chaque client pouvant consommer plusieurs instances, cette valeur peut être supérieure à la valeur maximale par défaut (50).

317249  (http://support.microsoft.com/kb/317249/ ) Comment faire pour résoudre l'ID d'événement 2021 et l'ID d'événement 2022

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows 2000 Server
  • Microsoft Windows NT Server 4.0 Terminal Server
Mots-clés : 
kbenv kbnetwork kbprb KB232476
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.