Question La mémoire de Windows 2008 R2 est toujours pleine


Nous avons un Windows 2008 R2 sur un serveur HP avec 24 Go de RAM. Le seul logiciel important installé est SQL Server 2008 R2 et presque aucune fonctionnalité ou rôle n'est activé sur Windows.

Mais le problème est que toujours la RAM est presque pleine. Lorsque nous examinons les performances dans le Gestionnaire des tâches ou la partie mémoire de Resource Monitor ou de programmes tiers, nous voyons qu'environ 97% à 99% de 24 Go de RAM sont occupés, mais que la somme de la mémoire utilisée par tous les processus est inférieure à 1 Go.

Si ce pourcentage de RAM est utilisé, pourquoi Windows ne peut-il pas afficher quels processus utilisent cette quantité de mémoire? et sinon, pourquoi windows dit que la RAM est pleine?


4
2018-04-10 09:33


origine




Réponses:


SQL Server utilise toute la mémoire disponible. Ce n'est pas un bug, c'est par conception. C'est pourquoi SQL Server doit être installé sur des machines dédiées (et non avec IIS par exemple).

Lorsqu’il est exécuté pendant une longue période, SQL Server stocke les données en fonction des requêtes exécutées, afin qu’elles soient plus rapides à exécuter ultérieurement. Cela signifie que lorsque vous démarrez le serveur, l'utilisation de la mémoire sera faible, mais augmentera avec le temps.

Vous pouvez ajuster la limite de mémoire à utiliser par SQL Server, mais vous ne devez le faire que si vous avez des raisons sérieuses.

Voici une citation de Comment ajuster l'utilisation de la mémoire en utilisant les options de configuration dans SQL Server sur le site Web du support Microsoft:

Lorsque vous démarrez SQL Server, l'utilisation de la mémoire SQL Server peut continuer à augmenter régulièrement et ne pas diminuer, même lorsque l'activité sur le serveur est faible. En outre, le Gestionnaire des tâches et l'Analyseur de performances peuvent montrer que la mémoire physique disponible sur l'ordinateur diminue régulièrement jusqu'à ce que la mémoire disponible se situe entre 4 et 10 Mo.

Ce comportement seul n'indique pas une fuite de mémoire. Ce comportement est normal et constitue un comportement prévu du pool de mémoire tampon SQL Server.


6
2018-04-10 09:43





Vous pouvez utiliser RAMMap pour savoir quel processus utilise votre mémoire (et comment).


3
2018-04-10 09:35





Pour spécifier la quantité maximale et minimale de mémoire utilisée par SQL Serve:

  1. Cliquez avec le bouton droit sur l'instance SQL Server dans l'Explorateur d'objets SQL Server Management Studio
  2. Sélectionner Propriétés
  3. Sélectionnez le Mémoire languette

enter image description here

Pour plus d'informations, voir cet article: Effets de la mémoire du serveur min et max

Comme pour l'allocation de mémoire par processus spécifique, vous pouvez commencer par Moniteur de ressources Windows


1
2017-07-28 18:20