2010-10-28 8 views
0

Nous avons construit un service Windows qui utilise des composants COM + (développés par nos soins). Il fonctionne sur un serveur Windows (virtuel via vmware) et quelque chose mange de la mémoire.Où est passée toute la mémoire?

vérification de la mémoire

J'ai fait une petite application qui traverse tous Process.GetProcesses et le retour de leur utilisation totale de la mémoire:

Première manche:

C:\Temp>ProcessExplorer.exe 
Virtual: 1613Mb, Physical: 318Mb 

Quelques minutes plus tard:

C:\Temp>ProcessExplorer.exe 
Virtual: 1492Mb, Physical: 48Mb 

Gestionnaire de tâches

En regardant les processus dans le gestionnaire de tâches, je ne vois aucune application avec une utilisation élevée de la mémoire. Mais Si je regarde l'onglet Performance, aucune mémoire n'est disponible.

alt text

J'ai laissé le serveur exécuter quelques jours sans notre application et l'utilisation de la mémoire était constante à environ 30%. J'ai activé l'application hier et l'utilisation de la mémoire sur le serveur avait augmenté à environ 60% il y a quelques heures.

Alors où est passée toute la mémoire? Comment puis-je le trouver? :)

Répondre

0

VmWare Tools a créé une bulle de mémoire pour libérer de la mémoire pour une autre machine virtuelle. On dirait que c'est un bug dans VmWare Tools puisque la machine virtuelle avait vraiment besoin de cette mémoire.

Nous avons essayé d'activer les outils VmWare sur cette machine virtuelle et tout fonctionne correctement maintenant.

Questions connexes