L'utilisation de la mémoire de Windows 7 (x64) grimpe à 90% + lorsque le système est inactif?

12

J'ai Windows 7 avec 4 Go de RAM. Lorsque le système démarre à partir d'un nouveau démarrage, je commence avec environ 33% d'utilisation. Cependant, si je pars avec mon PC inactif pendant quelques heures, ou pendant la nuit, mon PC atteint généralement les années 80 ou même plus de 90% d'utilisation (une fois, il a atteint 98%!).

Le plus gros commit est généralement SVCHost.exe à environ 500 Mo. Mon processus sidebar.exe a également tendance à grimper vers le même nombre.

Il s'agit d'un nouveau développement depuis la mise à niveau vers Win7 SP1, et je ne trouve pas beaucoup d'informations à ce sujet sur Internet. Quelqu'un d'autre a-t-il rencontré ce problème?

Modifier Cela cause de graves problèmes de performances lorsque je reviens sur le PC. Je dois redémarrer pour récupérer la mémoire.

Edit 2: Tagué comme "service-pack". Ce problème ne s'est produit que lorsque SP1 a été installé, je me demande donc si cela peut être la cause première.

Chris Sobolewski
la source
Comment mesurez-vous l'utilisation de la mémoire? Le gestionnaire de tâches dit que 512 Mo libres de 6 Go sont très bien si la majeure partie est en cache car cela sera immédiatement libéré si nécessaire ...
Mokubai
Vous n'avez pas décrit le problème. Pourquoi avez-vous besoin de la mémoire de retour? Que se passe-t-il si vous ne redémarrez pas? Tout le comportement que vous avez décrit est tout à fait normal. La mémoire libre est une mémoire gaspillée - ce n'est pas comme si vous n'utilisez que 2 Go aujourd'hui, vous pouvez utiliser 6 Go demain.
David Schwartz
J'ai 6 Go de RAM sur Win7 SP1, je veux utiliser VS2015 et SQL Management Studio pour le développement, mais avec rien en cours d'exécution, le ram physique utilisé est à 90 +% maintenant, vous pouvez imaginer ce qui se passera si j'exécute les deux et tant de mem virtuel sera utilisé, et comme la HD est un moyen de ralentir pour être utilisée comme mémoire, vous pouvez imaginer ce qui va se passer. La plupart des mem utilisés sont par svchost.exe -k LocalSystemNetworkRestricted
Adeem

Réponses:

6

Ce n'est un problème que si cette mémoire n'est pas disponible pour d'autres tâches lorsqu'elle est appelée. Ce n'est pas parce qu'il est utilisé maintenant qu'il ne peut pas être libéré rapidement en cas de besoin, et en fait, laisser la mémoire inutilisée serait le vrai gaspillage.

En remarque, c'est une autre différence dans la façon dont Windows et Linux utilisent la mémoire. Sur un système Linux, ce serait un peu plus inquiétant car le swap n'est utilisé qu'en dernier recours. Rien n'est échangé sauf en cas d'absolue nécessité, et Linux devrait donc d'abord prendre le temps d'écrire la RAM utilisée sur la partition d'échange avant de pouvoir la récupérer pour d'autres programmes. Windows, d'autre part, aime garder toute la RAM paginée en tout temps. De cette façon, s'il a besoin d'utiliser de la RAM pour l'utiliser pour un autre processus, il est déjà paginé sur le disque et peut donc être récupéré beaucoup plus rapidement. C'est un compromis - Linux est plus rapide à cet égard pour la RAM qui ne sera jamais paginée / échangée, et Windows est plus rapide à cet égard pour les moments où vous devez échanger rapidement.

Joel Coehoorn
la source
@JoelCoehoom "Windows, d'autre part, aime garder toute la RAM paginée tout le temps." Désolé, mais c'est un mythe commun. Sur mon système d'atmosphère, j'ai 16 Go de RAM et 7,5 Go d'espace d'adressage virtuel soutenu par un fichier d'échange (c'est-à-dire la «charge de validation»). Mais le fichier d'échange ne contient en réalité que 570 Mio environ. (Je pense que le mythe a commencé lorsque le gestionnaire de tâches de XP, pour une raison insondable, a étiqueté ce graphique "utilisation PF". Il ne montrait vraiment que la charge de validation, qui peut être considérée comme l' utilisation potentielle actuelle du fichier d' échange.
Jamie Hanrahan
J'ai 6 Go de RAM sur Win7 SP1, je veux utiliser VS2015 et SQL Management Studio pour le développement, mais avec rien en cours d'exécution, le ram physique utilisé est à 90 +% maintenant, vous pouvez imaginer ce qui se passera si j'exécute les deux et tant de mem virtuel sera utilisé, et comme la HD est un moyen de ralentir pour être utilisée comme mémoire, vous pouvez imaginer ce qui va se passer. La plupart des mem utilisés sont par svchost.exe -k LocalSystemNetworkRestricted
Adeem
2

Désactivez le processus de la barre latérale. Il est connu qu'il fuit beaucoup de mémoire (bien que ce soit plus probablement les modules complémentaires qu'il héberge qui causent probablement les fuites de ressources).

Suggestion: la mise à niveau vers 8 Go de RAM est préférable si votre carte mère peut prendre en charge cela, car Windows Vista et Windows 7 consomment tous deux beaucoup de mémoire, et les applications plus récentes semblent également utiliser plus de RAM ces jours-ci également.

Randolf Richardson
la source
2
Je ne considère pas vraiment que "désactiver la barre latérale" soit une option viable. Mes gadgets sont là depuis que j'ai le système et ce problème est récent (depuis SP1).
Chris Sobolewski
@Chris Sobolewski: C'est certainement votre choix. Bien sûr, si vous le désactivez pendant un certain temps, vous aurez l'avantage de l'exclure en tant que coupable (ou de déterminer qu'il est la cause de vos fuites de ressources). En outre, ne négligez pas la possibilité que la mise à jour SP1 ait mis à jour certains de ces gadgets ainsi que le code de la barre latérale lui-même - simplement parce que c'est une mise à jour pour corriger les choses ne signifie pas qu'elle n'a pas cassé autre chose.
Randolf Richardson
2

Voulez-vous dire que la plus grande utilisation de la mémoire est de 5 Mo? Pour moi, svhost.exe prend 180 Mo de mémoire et Firefox avec quelques onglets en cours d'exécution prend environ 500 Mo. Pouvez-vous vérifier quelle est réellement l'utilisation de la mémoire et nous le faire savoir? A-t-il installé SQL Server? SQL est connu pour tout manger en fonction du type de bases de données que vous pouvez avoir pour le développement.

Quoi qu'il en soit, obtenez Process Explorer , triez vos processus par octets privés et voyez ce qui prend toute l'application mémoire .. ou peut-être que vous avez beaucoup de processus qui, ensemble, lui font manger toute la mémoire disponible. Vous devez vérifier cela.

Garçon furieux
la source
C'est exact. Lorsque je démarre, le processus hôte prend environ 180 Mo, tout comme le vôtre, mais quand je reviens d'une longue période de non-utilisation, il a tendance à être d'environ 500 Mo. Vous pouvez être sur quelque chose avec SQL, j'exécute une instance de mySQL, mais je ne le fais qu'à des fins de test et la base de données ne devrait rien faire si je n'utilise pas le PC. J'essaierai cela, mais je me demande comment cela se connecte car j'utilise le PC depuis un certain temps et c'est un nouveau phénomène.
Chris Sobolewski
Vous pouvez utiliser l'Explorateur de processus et cliquer avec le bouton droit sur svchost.exe sur le processus incriminé, puis aller dans l'onglet Services et découvrir quels services il exécute. Mon svhost.exe avec une grande quantité de mémoire héberge 2 services BFE et MpsSvc. Voyez quels autres processus vous avez là. De plus, il semble y avoir beaucoup d'options possibles sur la fuite de mémoire de svhost -> social.technet.microsoft.com/Forums/en-US/w7itproperf/thread/… Essayez de google certains. Il peut s'agir de toute fuite de service ou de problèmes de pilotes vidéo. Pouvez-vous essayer de mettre à jour vos pilotes vers les dernières versions?
MadBoy
2

Avec Process Explorer, vous pouvez survoler le scvhost.exeprocessus pour voir quels services il héberge.

Si vous devez résoudre ce problème en détail, Microsoft Sysinternals VMMap peut vous y aider.
Il vous permet d'inspecter quelle mémoire est mappée et pourrait vous permettre d'identifier le service spécifique ...

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

Tamara Wijsman
la source
Cela semble utile. Y a-t-il une option de journalisation pour que je puisse la laisser et partir, puis voir ce qui s'est passé pendant mon absence?
Chris Sobolewski
@ChrisSobolewski: Je ne pense pas en dehors de la chronologie ou en laissant Process Explorer s'exécuter en arrière-plan ...
Tamara Wijsman
0

J'ai le même problème - apparemment, c'est une fuite de mémoire dans la barre latérale causée par IE9. Voici plus d'informations.

Il y a deux correctifs que je connais en ce moment: il y a un hack qui redémarre la barre latérale de temps en temps, et une solution plus permanente consiste à désinstaller IE9.

Domchi
la source