Pourquoi / comment svchost.exe utilise-t-il 6,5 Go de mémoire?

29

Qu'est-ce qui se passe ici? Je n'ai presque rien en cours d'exécution.

6.5 / 8

Par presque rien, je veux dire Firefox et certaines applications réseau d'arrière-plan qui sont entièrement passives et n'utiliseraient jamais autant de mémoire.

Services associés: UxSms, TrkWks, SysMain, PcaSvc, Netman, CscService, AudioEndpointBuilder, TabletInputService

La seule chose à laquelle je peux penser, c'est que j'utilisais Virtualbox avec Ubuntu depuis un petit moment, mais cela est limité à 2 Go de mémoire et il ne fonctionne plus.


Edit: Je suis le plus intéressé par la question de savoir pourquoi / comment? Probablement une fuite quelque part, mais compte tenu des services énumérés ci-dessus, certains se distinguent-ils comme un coupable potentiel?

Énigme
la source
Voir plus d'informations utiles windowstechinfo.com/2015/05/…
Aravinda

Réponses:

28

svchost.exe est le processus qui exécute tous vos services Windows. L'un d'eux est apparemment devenu fou. Cliquez avec le bouton droit sur svchost.exe et sélectionnez "Accéder aux services". Cela vous indiquera de quel service il s'agit et vous pouvez utiliser le Gestionnaire de services pour le redémarrer ou le désactiver si vous n'en avez pas besoin.

Pour une meilleure description avec de belles captures d'écran, consultez:


Par votre mise à jour, vous pouvez consulter quelques-uns de ces services:

  1. CscService: lié à la fonction "dossiers hors ligne" de Windows. L'utilisez-vous?
  2. UxSms: lié au gestionnaire de fenêtres de bureau. Essayez de désactiver Aero, voyez si le problème se produit.
Colin Pickard
la source
7
Cela peut être un peu trop tard, mais dans mon cas, c'est toujours le service wuauserv, également connu sous le nom de Windows Update. Il utilise plus de 700 Mo dans mon pauvre PC RAM de 1 Go. Je dois toujours arrêter ce service pour pouvoir faire quelque chose.
tfrascaroli
@Colin, comment pouvons-nous cliquer avec le bouton droit de la souris et accéder aux services à l'aide de Sysinternals Process Explorer? Il ne semble pas y avoir cette option dans le menu contextuel: i.stack.imgur.com/8M5Hm.png
Pacerier
15

Après avoir divisé les services suspects en processus séparés, j'ai pu identifier Network Store Interface Service(nsi) comme étant la cause de la fuite de mémoire dans mon cas (Windows 7).

Il existe un fil de dix pages sur ce problème à http://answers.microsoft.com/en-us/windows/forum/windows_7-system/nsi-memory-leaks-fixed-yet/f3c3e9db-36a7-45df-9dbd- de9455378498 .

Il mentionne quelques correctifs disponibles pour téléchargement sur demande:

http://support.microsoft.com/kb/2847346/en-us

http://support.microsoft.com/kb/2950358/en-us

Il existe également un correctif similaire pour Vista et Server 2008:

http://support.microsoft.com/kb/2743187/EN-US

Vadzim
la source
1
J'ai eu ce correctif installé et il l'a corrigé pendant un certain nombre de mois, mais récemment (je soupçonne après une mise à jour de Windows), il a recommencé à se produire. Réappliquer le correctif ne semble avoir aucun effet. Quelqu'un d'autre dans une situation similaire? Toute solution?
Sam Hasler
1
Génial, merci beaucoup! Dans mon cas, 2847346 semble l'avoir corrigé - retour à l'utilisation de 4KB sur cette tâche. Cette astuce d'isolation de service sera également utile pour d'autres dépannages.
Mark Berry
4

Autre option: utilisez Process Explorer.
Il peut être téléchargé via Microsoft TechNet .

Il affiche tous les processus en cours d'exécution, vous pouvez facilement voir quel svchost.exe utilise des ressources CPU ou RAM, pour retrouver le service en cours d'exécution.

Conseil:
lorsque vous placez le curseur de la souris sur les entrées «svchost.exe», tous les services associés à ce processus sont répertoriés dans une fenêtre d'infotip.
Alternativement, sélectionnez le processus, cliquez sur "Propriétés" et choisissez l'onglet "Services".

Awa
la source
Ces deux choses sont possibles avec le gestionnaire de tâches également btw.
Enigma
1
C'est vrai, mais je pense que Process Explorer facilite un peu les choses. Vous pouvez également afficher tous les threads, la pile, les connexions réseau et les paramètres de sécurité, etc. du processus svchost.exe en question, ainsi que les données de performance détaillées et les graphiques pour un seul processus.
Awa
1
Peut-il dire lequel des nombreux services exécutés sous chaque processus svchost consomme toute la mémoire? Parce que sinon, c'est inutile.
Havenard
1
Fondamentalement, oui. Vous pouvez afficher l'utilisation / les cycles du processeur par thread et également les paramètres tels que la priorité de la mémoire. Le service qui appartient à un thread donné est également répertorié. Ce n'est cependant pas un outil de débogage ou de profilage.
Awa
2

Cela se produit après la mise à jour vers Windows 7 Service Pack 1. Des fuites de mémoire peuvent se produire lorsque le service d'arrière-plan pour Windows Update (netsvcs) est activé. Vous pouvez trouver plus d'informations ici , entre autres. Voir la réponse d'Awa ici pour vérifier que Windows Update est en faute.

Une solution inélégante à ce problème consiste à désactiver Windows Update et à installer toutes les mises à jour manuellement. Exécutez services.msc et définissez Windows Update et Background Intelligent Transfer Service sur Disabled . Voir ici pour des instructions générales sur les services.

Cependant, plusieurs mises à jour pour résoudre ce problème ont été déployées par Microsoft. Lorsque vous exécutez Windows Update pour la première fois dans une nouvelle installation de Win7 SP1, il insiste pour installer l' agent Windows Update [WUA] 7.6.7600.320 ( KB2887535 ), avant de vous permettre de rechercher d'autres mises à jour. Laissez-le faire ou appliquez la mise à jour manuellement si vous installez hors ligne. Après cela, vous ne pourrez peut-être pas installer d'autres mises à jour automatiquement tant que ce problème ne sera pas résolu.

Ensuite, téléchargez et installez manuellement la mise à jour suivante:

https://support.microsoft.com/en-us/kb/3083324

Cela met à jour l'agent Windows Update vers la version 7.6.7601.18979 .

Il s'agit de la dernière mise à jour d'une série publiée par Microsoft pour résoudre le problème. Chacun a été remplacé par une version plus récente, et il semble que vous n'ayez qu'à installer la plus récente. Cependant, si cela ne résout pas le problème, vous pouvez essayer d'installer une ancienne mise à jour de la série, ou peut-être les installer toutes de manière séquentielle. Par ordre chronologique, consultez les mises à jour suivantes:

https://support.microsoft.com/en-us/kb/2990214
https://support.microsoft.com/en-us/kb/3050265 (juin 2015)
https://support.microsoft.com/en- us / kb / 3065987 (juillet 2015)
https://support.microsoft.com/en-us/kb/3075851 (août 2015)
https://support.microsoft.com/en-us/kb/3083324 (septembre 2015 )

Ensuite, selon cette réponse , installez cette mise à jour:

https://support.microsoft.com/en-us/kb/3102810 (20 octobre 2015)

Cela met à jour la WUA vers la version 7.6.7601.19046 . Théoriquement, vous devriez pouvoir passer à cette étape et être bien. Cependant, cette mise à jour prétend ne pas remplacer les mises à jour antérieures, c'est pourquoi il peut être conseillé d'installer d'abord la ou les mises à jour susmentionnées.

Enfin, il peut être conseillé de désactiver les deux services susmentionnés avant d'installer manuellement ces mises à jour, puis de les réactiver par la suite. Je pense que vous devriez aller bien de toute façon, bien que vous souhaitiez peut-être redémarrer votre machine après chaque mise à jour, juste pour être sûr.

Les rapports varient, mais cela devrait résoudre vos problèmes avec la mémoire de mise à jour de Windows Update et le processeur :)

Rafique Mohammed
la source
Cela a résolu mon problème, beaucoup d'autres réponses sont utiles, mais la mise à jour de Windows prend le plus absolu
Broken_Code
Quelle est la dernière mise à jour / correctif à installer, à ce jour?
jj_
1

Merci Colin pour ton conseil utile.

J'ai constaté que le service de temps Windows W32Time a provoqué la fuite de mémoire. (Windows 7/64 Home Premium, IE11, mises à jour Windows à jour).

D'autres entrées du forum indiquent qu'une mise à jour d'Internet Explorer a provoqué le problème. Mais je n'ai pas essayé de vérifier cela.

Solution: ouvrez le panneau Services et désactivez le service W32Time. Inconvénient: votre horloge n'est plus synchronisée avec un service de temps Internet.

Andreas Stankewitz
la source
1

https://support.microsoft.com/en-us/kb/2889748 nouveau correctif diagnostiqué et résolu par microsoft.

Krondeezlo
la source
1
Bien que cela puisse répondre à la question, vous devez donner une description plus détaillée du contenu lié et expliquer comment il se rapporte à la question. Cela aidera à garantir que cette réponse reste utile dans le cas où la page liée est supprimée ou se déconnecte. Pour plus d'informations, consultez ce billet Meta Stack Exchange .
bwDraco
0

Essayez de désactiver votre service pour:

Superfetch  
Offline files 

La plupart des cas pour lesquels svchost utilise trop de RAM est dû au fait que le service Superfetch est en cours d'exécution.

Superfetch charge la plupart des applications que vous utilisez dans la RAM pour le rendre «instantanément» à charger. Mais parfois, cela peut vider votre RAM.

Les fichiers hors ligne peuvent également consommer beaucoup de RAM.

Dernier mot, peut-être si vous rencontrez le même cas, essayez de l'ouvrir à l'aide de Process Explorer : http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Cliquez ensuite avec le bouton droit sur Propriétés et sélectionnez Services, pour savoir quel type de service est en cours d'exécution et ce qui pourrait éventuellement devenir sauvage ... :)

Sidhi Ciang
la source
Gardez à l'esprit que si aucun de vos autres programmes n'utilise de RAM (comme dans cette question), c'est une bonne idée pour SuperFetch d'utiliser la RAM restante. La RAM inutilisée est de la RAM gaspillée.
MSalters
Gardez également à l'esprit que SuperFetch ne semble pas utiliser de RAM. La RAM qu'il utilise pour la mise en cache des fichiers (ce ne sont pas seulement des applications) se trouve sur la liste des pages de veille, où il fait partie de la mémoire «disponible». Et il reste sur la liste des pages de secours, et est toujours considéré comme "disponible". Il ne fait partie d'aucun ensemble de travail de processus svchost. Donc, si vous cherchez des raisons pour lesquelles vous avez soit peu de RAM "disponible", soit un jeu de travail trop grand dans l'un des processus svchost, SuperFetch ne l'est pas.
Jamie Hanrahan
0

Le pourquoi est probablement une fuite de mémoire. La mémoire est mise de côté pour quelque chose, mais lorsque ce quelque chose est terminé, la mémoire n'est pas marquée comme étant libre. Tout ce qui est cassé réclame constamment de la mémoire et ne se règle pas pour être à nouveau libre. Ils appellent normalement cette collecte des ordures.

Levi
la source
-1

Analyse approfondie par alarme de zone.

N'arrêtez pas svchost.exe qui peut provoquer des problèmes dans votre connexion Internet ou dans les sons et les voix.

Mohammad Hussein
la source
J'ai dû le tuer mais Windows s'est rétabli. Ce n'était pas un virus mais semble être un problème de fuite lié au pilote réseau.
Enigma