Les applications ne peuvent pas fonctionner correctement dans un environnement de Services Terminal Server

Symptômes

Lorsque vous utilisez une session de Services Terminal Server pour vous connecter à un ordinateur Windows Server 2003 avec les Services Terminal Server installés, et puis que vous essayez d’exécuter un programme sur le serveur Terminal server à partir d’un ordinateur client, le programme que vous tentez d’exécuter ne peut pas fonctionner correctement.

Cause

Ce problème se produit si la mémoire de la session ne peut pas allouer des objets de l’interface (interface utilisateur) utilisateur graphique aux applications. La mémoire de la session sur un serveur Terminal server gère l’allocation des objets de l’interface utilisateur graphique pour différentes applications. Si la mémoire de session qui est affectée aux objets d’interface utilisateur graphique n’est pas suffisante, les objets de l’interface utilisateur graphique ne sont pas correctement affectés aux applications qui s’exécutent sur le serveur Terminal server. Cela peut entraîner des applications ne pas s’exécuter correctement.

Résolution

Important Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le Registre avant de le modifier. Vous pourriez alors restaurer le Registre si un problème survient. Pour plus d’informations sur la façon de sauvegarder et de restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
322756 comment sauvegarder et restaurer le Registre dans Windows


Pour configurer la mémoire de la session, vous pouvez modifier manuellement les entrées de Registre pour la mémoire de la session dans le Registre. L’entrée de Registre pour la modification de la mémoire de session se trouve sous la sous-clé de Registre suivante :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Les deux entrées de Registre qui gèrent la mémoire de la session sont SessionViewSize et SessionPoolSize. L’entrée de Registre SessionViewSize spécifie la quantité de mémoire réservée pour les segments de bureau. La valeur par défaut de cette entrée est 20 mégaoctets (Mo). Cette mémoire est allouée aux applications d’utiliser des objets interface utilisateur tels que les polices, les menus et les fenêtres.

L’entrée de Registre SessionPoolSize Spécifie le pool de session paginée en mégaoctets. La valeur par défaut pour le pool de session de réserve paginée est de 16 Mo. Si la mémoire disponible est suffisante, Windows peut également allouer de 32 Mo. Cette mémoire est utilisée pour les allocations du pilote vidéo.

Dans un système d’exploitation 64 bits, la valeur par défaut de l’entrée SessionViewSize est de 104 Mo et la valeur par défaut pour l’entrée SessionPoolSize est de 64 Mo. Il est le meilleur moyen d’augmenter la mémoire allouée aux écritures le SessionViewSize et SessionPoolSize pour augmenter la valeur de mémoire allouée par 16 Mo et de voir si les services sont disponibles pour exécuter les applications après avoir augmenté la valeur de mémoire allouée aux écritures SessionViewSize et SessionPoolSize. Si ce n’est pas le cas, augmentez la valeur de mémoire allouée par 16 Mo et essayez à nouveau.

Pour modifier les valeurs des entrées de Registre SessionViewSize et SessionPoolSize, utilisez l’Éditeur du Registre pour modifier les valeurs DWORD les deux entrées de Registre. En outre, vous pouvez modifier les valeurs d’entrée de Registre SessionViewSize et SessionPoolSize séparément.

Remarque Dans les systèmes d’exploitation de Windows 64 bits, la limite de descripteur d’Interface de périphérique graphique (GDI) n'est pas supérieure à celle des systèmes d’exploitation de Windows 32 bits. Le nombre maximal de handles GDI handles qu’un processus peut traiter est de 65 535. Vous pouvez limiter le nombre de handles GDI que chaque processus peut gérer en définissant la valeur de Registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Windows

Nom de la valeur : GDIProcessHandleQuota
Type de la valeur : REG_DWORD
Données de la valeur : 10000 (valeur décimale par défaut)
Vous pouvez définir cette valeur de Registre à partir d’une valeur minimale de 256 (décimal) à une valeur maximale de 65 536 (décimal).

Dans une situation idéale, la mémoire allouée pour les entrées de Registre SessionViewSize et SessionPoolSize ne doit pas être supérieure à 512 Mo. Vous pouvez également augmenter la mémoire allouée aux écritures SessionViewSize et SessionPoolSize, en fonction de votre mémoire RAM et d’autres valeurs de Registre associées. Si vous allouez davantage de mémoire pour augmenter le segment de bureau, vous pouvez réduire la mémoire allouée par le serveur Terminal server à d’autres ressources, telles que de la réserve non paginée, paginée du pool et le cache du système. Ceci affectera les performances du serveur Terminal Server. En outre, lorsque la mémoire est allouée aux écritures SessionViewSize et SessionPoolSize, la mémoire allouée pour mapper l’espace virtuel du noyau est réduite. Ce fait à son tour, le serveur Terminal server en ne charge qu’un nombre limité d’utilisateurs.
Propriétés

ID d'article : 840342 - Dernière mise à jour : 27 janv. 2017 - Révision : 1

Commentaires