Symptômes

Vous êtes en situation de problèmes de performances dans les applications et services dans différentes versions de Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 et Windows Server 2008 R2. En outre, vous remarquez les symptômes suivants :

  • La mémoire disponible est presque épuisée.

  • Le cache de fichiers système consomme la majeure partie de la MÉMOIRE RAM physique.

  • Il existe un volume continu et élevé de demandes de lecture mises en cache sur le disque dur.

Cause

La gestion de la mémoire dans les systèmes d’exploitation Microsoft Windows utilise un algorithme basé sur la demande. Si un processus demande et utilise une grande quantité de mémoire, la taille du jeu de travail (le nombre de pages mémoire dans la MÉMOIRE VIVE physique) du processus augmente. Si ces demandes sont continues et désactivées, l’ensemble de travail du processus continuera à consommer toute la RAM physique. Dans ce cas, les ensembles de travail de tous les autres processus sont indiqués sur le disque dur. Ce comportement réduit les performances des applications et services, car les pages mémoire sont écrites sur le disque dur et lues à partir du disque dur.

Ce comportement s’applique également au jeu de travail du cache de fichiers système. En cas de volume continu et élevé de demandes de lecture mises en cache à partir de tout processus ou de n’importe quel pilote, la taille de jeu de travail du cache de fichiers système augmente pour répondre à cette demande. Le cache de fichiers système utilise la MÉMOIRE RAM physique. Par conséquent, des quantités suffisantes de RAM physique ne sont pas disponibles pour d’autres processus.

Sur les versions 32 bits des systèmes d’exploitation Microsoft Windows antérieures à Windows Vista, les jeux de travail du cache de fichiers système ont une limite de mémoire inférieure à 1 gigaoctet (Go). La limitation de la plage d’adresses virtuelle empêche les ensembles de travail du cache de fichiers système d’épuisement de la RAM physique.

Sur les versions 32 bits des systèmes d’exploitation Windows Vista, les ressources du noyau sont allouées de façon dynamique. Le jeu de travail du cache de fichiers système augmente pour consommer la plage d’adresses virtuelle du mode kernel aux frais des autres ressources du noyau. La limite de cette plage de mémoire est inférieure à 2 Go. Si l’ordinateur dispose de plus de 2 Go de RAM physique, le cache ne peut pas épuiser toute la RAM physique. Toutefois, le cache peut épuiser l’espace d’adresse virtuel du noyau. Cela peut entraîner des échecs d’attribution pour les autres composants du noyau.

Sur les versions 64 bits des systèmes d’exploitation Windows, la taille de la plage d’adresses virtuelle est généralement supérieure à la RAM physique. Dans ce cas, le jeu de travail pour le cache de fichiers système peut augmenter afin de consommer la majeure partie de la RAM physique.

Résolution

Les algorithmes de gestion de la mémoire dans les systèmes d’exploitation Windows 7 et Windows Server 2008 R2 ont été mis à jour pour résoudre de nombreux problèmes de mise en cache de fichiers présents dans les versions antérieures de Windows. Il existe uniquement certaines situations uniques dans lesquelles vous devez implémenter ce service sur des ordinateurs exécutant Windows 7 ou Windows Server 2008 R2.

Comment déterminer si votre système est affecté

Pour déterminer si votre système est affecté par ce problème, installez l’outil SysInternals RamMap. Vous pouvez vous procurer l’outil sur le site web Windows Sysinternals suivant :

http://technet.microsoft.com/en-us/sysinternals/ff700229
Lorsque vous exécutez l’outil, sélectionnez l’option Utiliser les nombres. Cela permet d’afficher plusieurs colonnes qui montrent le modèle actuel d’utilisation de la mémoire. Cliquez sur la colonne Actif pour trier selon le nombre d’octets utilisés et notez la première utilisation directement sous le total.

Si le nombre d’utilisations supérieur est « Métafichier » et si une grande partie de la mémoire disponible est utilisée, vous rencontrez le problème de cache de fichiers système décrit dans la section « Symptômes ». Vous pouvez le vérifier à l’aide du Moniteur de performance pour surveiller le compteur Mémoire\Cache système et voir le cache croître continuellement au fil du temps.

Figure 1. Exemple de sortie RamMap sur laquelle l’ordinateur rencontre le problème.


texte de remplacement
Figure 2. Exemple de sortie RamMap dans laquelle l’ordinateur ne rencontre pas le problème.


texte de remplacement
Si le compteur mémoire\Octets résidents du cache système dans l’écran de performance affiche une tendance vers le haut au fil du temps, l’ordinateur est confronté au problème, comme montré dans la figure 3.

Figure 3. Exemple de sortie de l’écran de performance dans laquelle l’ordinateur se produit au fil du temps.

texte de remplacement

Redémarrage requis

Vous n’avez pas à redémarrer l’ordinateur lorsque vous installez, désinstallez ou utilisez ce service.

Si vous lisez cet article parce que vous traitez avec un client qui estime qu’il est affecté par ce problème, suivez ces étapes pour résoudre le problème.

  1. Vérifiez que les données RamMap, perfmon ou poolmon du client indiquent que le Cache de fichiers système consomme la plus grande partie de la RAM physique, comme décrit précédemment.

  2. Pour obtenir le service de cache dynamique Windows, téléchargez-le ici.

  3. Certains paramètres du Registre du cache dynamique sont les suivants :

    Pour les serveurs de fichiers, vous voudrez peut-être essayer 1 Go.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    « MaxSystemCacheMBytes"=dword:00000400
    « MinSystemCacheMBytes"=dword:00000064
    « SampleIntervalSecs"=dword:0000003c
    « CacheUpdateThresholdMBytes"=dword:00000064

    Exchange 2007, vous souhaitez peut-être essayer 500 Mo :
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    « MaxSystemCacheMBytes"=dword:000001F4
    « MinSystemCacheMBytes"=dword:00000064
    « SampleIntervalSecs"=dword:0000003c
    « CacheUpdateThresholdMBytes"=dword:00000064

    SQL 2005 et les années supérieures, vous avez déjà utilisé 2 Go dans le SQL de l’éducation pour l’éducation :
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    « MaxSystemCacheMBytes"=dword:000007D0
    « MinSystemCacheMBytes"=dword:00000064
    « SampleIntervalSecs"=dword:0000003c
    « CacheUpdateThresholdMBytes"=dword:00000064

Informations supplémentaires

Pour contourner ce problème, utilisez la fonction API GetSystemFileCacheSize et la fonction API SetSystemFileCacheSize pour définir la valeur de taille maximale ou minimale des jeux de travail du cache de fichiers système. L’utilisation de ces fonctions est la seule méthode prise en charge qui permet de limiter la consommation de mémoire physique par le cache de fichiers système.

Le service microsoft Windows Dynamic Cache Service est un exemple de service qui illustre une stratégie d’utilisation de ces API pour minimiser les effets de ce problème.

L’installation et l’utilisation du service Microsoft Dynamic Cache Ne provoquent pas l’exclusion de la prise en charge de Microsoft Windows. Ce service et son code source sont fournis à titre d’exemple pour utiliser les API pris en charge par Microsoft afin de réduire la croissance du cache du système de fichiers.

Vous pouvez obtenir le service et le code source sur le site web Microsoft suivant :

http://www.microsoft.com/download/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang=en

Autres ressources

Lisez les chapitres 9 (gestion de la mémoire) et 10 (Gestionnaire de cache) de Windows Internals, la 5e édition.

Billet de blog GESTION DE LA MÉMOIRE (PROBLÈMES DE CACHE SYSTÈME DE GRANDE TAILLE)

Billet de blog Sur les problèmes de copie de fichiers de grande taille lents

Limites de mémoire pour les logiciels

Windows Release 976618 Vous êtes en situation de problèmes de performances dans les applications et services lorsque le cache de fichiers système consomme la majeure partie de la MÉMOIRE RAM

physique 918483. Comment réduire la pagination de la mémoire tampon de la mémoire tampon dans la version 64 bits de SQL Server

895932 Éléments à prendre en compte avant d’activer le mode Cache système dans Windows XP

232271 Comment optimiser Windows NT Server à l’aide du Registre

837331





À propos du Gestionnaire de cache dans Windows Server 2003 http://technet2.microsoft.com/windowsserver/en/library/EFA621BD-A031-4461-9E72-59197A7507B61033.mspx Billet de blog RamMap sur le sujet TechNet LargeSystemCache 

Statut

Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la traduction ?
Qu’est-ce qui a affecté votre expérience ?

Nous vous remercions pour vos commentaires.

×