web-dev-qa-db-fra.com

Fuite de la mémoire de Windows Server 2008 R2 64 bits

J'ai des problèmes dans l'un de mes serveurs de bureau. Il est un serveur Virtualisé Windows 2008 R2 avec 6GB RAM mémoire. Il n'a que Microsoft SQL Server (Memory attribué maximum = 3 Go) et juste un logiciel qui ne prend pas plus de 1 Go de RAM. Toutefois , Server's RAM Memory est presque plein et en examinant les processus du gestionnaire de tâches, ils ne semblent pas résumer cela. J'ai installé Rammap, mais ne peut pas l'interpréter très facilement, est là toute "valeur élevée" que vous pouvez identifier?

enter image description here

12
Guillermo Zooby

Eh bien, je vois ~ 3,2 gigaoctets de la mémoire verrouillée du conducteur, qui se démarque immédiatement comme suspect.

Ce type de mémoire, la mémoire verrouillée du pilote, est la mémoire qui a été verrouillée par un pilote en mode noyau. Généralement, dans le but de transférer petit Montants de données, généralement pour Short Périodes de temps.

Donc, si vous avez un grand Chunk de la mémoire verrouillée du pilote, pour A Long Heure, c'est généralement un signe que quelque chose n'est pas correct.

Je vais prendre une femme sauvage ici et deviner que, puisque vous avez mentionné que c'est un serveur virtualisé, qu'il s'agit du pilote VMware Balloon qui le fait. Je n'ai pas assez de données pour pouvoir vous dire pourquoi cela fait cela, mais il y a beaucoup de cas et de services de soutien à VMware KBS, comme celui-ci , qui parlent spécifiquement du pilote de ballon retenant à tort des quantités de mémoire quand cela ne devrait pas être.

Vous devez également envisager la possibilité que le pilote Balloon se comporte comme conçu, et il essaie de rendre la mémoire de votre page de serveur, car elle doit désespérément besoin de donner une mémoire à une autre VM sur le même hôte.

Il y a encore une autre possibilité que ce ne soit pas un pilote de mémoire dynamique d'hyperviseur du tout, mais plutôt un conducteur de périphérique voyou.

Pilotes Habituellement Allouer une mémoire "étiquetée" avec une balise de 3 ou 4 caractères qui donne un indice de manière à ce que le pilote était responsable de la répartition.
Poolmon.exe, une partie de Windows SDK/DDK peut aider à diagnostiquer.

Comme je l'ai dit, devinez sauvage, mais c'est le meilleur que je puisse faire avec les données que j'ai.

18
Ryan Ries

Eh bien, j'ai toutes les versions imaginables de SQL Server sur les locaux, de 2005 à 2016, et je n'ai pas vu de mémoire de mémoire aussi énorme que 100% de MEM. Voyez si vous avez Mémoire dynamique pour votre machine virtuelle activée.

Driver Locked est une silhouette que vous devez vous concentrer sur. Dans votre cas spécifique, Driver Locked est probablement l'un des pilotes Hyper-V, qui verrouillaient toute la mémoire inutilisée (affectée à la machine virtuelle, mais inutilisée par ATM), il peut donc "le donner" à un autre VM configuré avec Mémoire dynamique, voire à héberger le système d'exploitation, selon la première éventuellement en ayant besoin pour le moment. Vous pouvez le tester en ouvrant une grande application de fichier ou intensive de mémoire à l'intérieur de cette machine virtuelle - la mémoire de la circulation de la navigation doit diminuer comme une autre augmentation de la métrique. [~ # ~] Imho [~ # ~ ~] Cela ne devrait pas être une source de préoccupation si vous ne surjoutez pas trop de votre mémoire sur tous les VMS.

16
Kitet