Cet article décrit comment modifier le paramètre de registre SharedSection pour résoudre un problème fréquent d'erreur de création de fenêtre.
S'applique à :
Octopus sous Windows XP
Symptôme :
Octopus plante fréquemment et le log d'erreur indique une erreur de création de fenêtre. Le problème se produit particulièrement sur les PC où plusieurs applications sont utilisées en même temps.
Cause :
Le système manque de mémoire dans la section "Desktop Heap".
Solution :
Augmenter le paramètre de taille du "Desktop Heap" en modifiant le registre Windows.
Procédure :
Note: La procédure qui suit est un résumé de l'article Microsoft: http://support.microsoft.com/default.aspx?scid=kb;EN-US;184802
- Lancer RegEdit
- Localiser la clef HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Session Manager\\SubSystems
- Sélectionner, à droite, la chaîne "Windows" (qui contient une très longue valeur)
- Double-cliquer cette entrée pour éditer la chaîne
- Une partie de cette chaîne contient la valeur “SharedSection=1024,3072,512”. Remplacer la deuxième: (3072) par 8192
- Sauvegarder
- Redémarrer le poste.
Si vous désirez plus d'informations par rapport à l'erreur ou à la solution proposée, n'hésitez pas à communiquer avec le support d'Octopus.
Autres informations:
L'erreur de création de fenêtres peut se produire fréquemment sur Windows XP dépendamment des applications que vous utilisez. Lorsque cette erreur se produit, c'est parce que windows manque de mémoire de Desktop Heap. Le Desktop Heap est l'espace mémoire utilisé pour enregistrer l'information sur les 'handles', 'user objects', et 'GDI objects' ouverts. Cet espace est aussi utilisé pour charger les "drivers hardware" en mémoire, et possiblement d'autres informations. Un des symptômes de ce problème est que plusieurs applications se mettent à se comporter bizarrement (crashes, interface graphique corrompu), et son symptôme dans Octopus est l'erreur de création de fenêtre.
Voici quelques références sur le sujet du Desktop Heap.
- http://blogs.msdn.com/ntdebugging/archive/2007/01/04/desktop-heap-overview.aspx
- http://weblogs.asp.net/kdente/archive/2004/06/04/148145.aspx
- http://blogs.msdn.com/tonyschr/archive/2005/05/25/desktop-heap-limitations.aspx
L'espace maximum total théorique du Desktop Heap est de 48Mb. Ceci inclut toutes les sessions interactives ou non-interactives qui pourraient être ouvertes sur un système. Donc, Windows limite la mémoire du Desktop Heap disponible pour chaque session, pour qu'elles puissent toutes s'exécuter en même temps sans s'impacter.
À propos de HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Session Manager\\SubSystems
Dans la valeur de registre : SharedSection=1024,3072,512
- La première valeur est l'espace commun partagé entre tous les desktops
- La deuxième est la taille maximale permise pour le Desktop Heap d'une session interactive
- La troisième valeur est la taille maximale permise pour le Desktop Heap d'une session non-interactive
Merci, votre message a bien été envoyé.