Après la mise à jour de Windows 10 Fall Creators, une instance svchost.exe utilise constamment le temps CPU


10

Depuis l'installation de la mise à jour de Windows 10 Fall Creators, j'ai un svchost.exeprocessus qui utilise constamment environ 14% du temps CPU:

graphique de l'utilisation du processeur

Cette svchost.exeinstance est responsable de l'hébergement de trois services:

Moteur de filtrage de base, CoreMessaging, pare-feu Windows Defender

Le temps CPU est consommé par un thread à l'intérieur de ce processus que Process Hacker ne peut attribuer à aucun de ces trois services:

capture d'écran de Process Hacker

Étant donné que ces trois services sont considérés comme des services système essentiels, il est difficile de faire quoi que ce soit à leur sujet. Ces services ne peuvent pas être arrêtés ou désactivés par services.msc, et la fin du processus déclenche un bugcheck ( CRITICAL_PROCESS_DIED). La désactivation du pare-feu Windows Defender via l'interface utilisateur des paramètres ne réduit pas l'utilisation du processeur.

Je suis à court d'idées. Qu'est-ce qui peut causer cela? Comment puis-je déboguer davantage? Existe-t-il une solution de contournement pour arrêter ces services?


Mise à jour: Après quelques débogages avec @HelpingHand , nous avons isolé cela au service de pare-feu Windows Defender. Process Monitor montre qu'il accède constamment au registre:

capture d'écran de Process Monitor

Une exportation CSV d'une capture Process Monitor, filtrée sur ce processus, est disponible ici .

Je cherche toujours un moyen d'arrêter ce comportement.


Mise à jour 2: l' analyse avec Windows Performance Analyzer montre que la plupart du temps CPU est consommé par le code de rpcrt4.dll:

capture d'écran de Windows Performance Analyzer


1
Si vous exécutez les 2 commandes suivantes dans une invite d'administration et redémarrez; le cas échéant, quel processus svchost est à l'origine du CPU élevé, alors: Sc config BFE type= ownalorsSc config MpsSvc type= own
HelpingHand

1
Comme vous avez déjà Process Hacker, si vous trouvez le processus svchost qui héberge BFE par exemple. Si vous double-cliquez sur le nom du service dans l'onglet services, puis affichez l'onglet sécurité, j'aurais pensé que les administrateurs auraient modifier les droits de configuration. Ce qui précède fonctionne pour moi.
HelpingHand

1
Vous pouvez peut-être maintenant exécuter Process Monitor avec ce filtre filtré sur ce PID. Voyez ce qui apparaît.
HelpingHand

1
C'est également le cas sur mon ordinateur. TBH, je pense que votre meilleur pari est d'installer les outils Windows Performance Toolkit - docs.microsoft.com/en-us/windows-hardware/test/wpt . Vous utiliserez essentiellement l'enregistreur de performances Windows pour capturer un fichier de trace et l'analyseur de performances Windows pour l'analyser. channel9.msdn.com/Shows/Defrag-Tools a quelques bons spectacles sur ces derniers.
HelpingHand

1
ne pas trier par module. supprimez cette colonne. trace également les événements RPC. téléchargez ce fichier , exécutez WPRUI.exe, cliquez sur ajouter un profil, sélectionnez le WPRP téléchargé, sélectionnez Profil d'utilisation du processeur et Profil d'utilisation du réseau sous Mesures personnalisées. cliquez sur démarrer et capturez l'utilisation pendant 30 secondes. regardez maintenant quel PID a le plus haut niveau d'utilisation du processeur et dans le filtre graphique / tableau des événements génériques pour l'exe avec le haut usage et les événements RPC et regardez quelles actions rpc sont effectuées
magicandre1981

Réponses:


11

Il s'avère que cela était lié au partage de connexion Internet (ICS).

Dans ce qui suit, je voudrais décrire comment j'en suis arrivé à cette conclusion dans l'espoir que cela aide d'autres personnes ayant des problèmes similaires.


La première étape consiste à identifier le service à l'origine des problèmes. Bien que le gestionnaire de tâches de Windows ait également appris à le faire récemment, j'ai utilisé Process Hacker qui peut également modifier la configuration d'un service.

Double-cliquez sur l' svchost.exeinstance incriminée et sélectionnez l' onglet Service pour afficher les services qui s'exécutent à l'intérieur de ce processus:

Propriétés de svchost.exe (1688)

svchost.exepeut héberger de nombreux services Windows en même temps, ce qui rend difficile l'identification du service à l'origine des problèmes. Bien que les versions récentes de Windows 10 isolent généralement les services lorsque suffisamment de RAM est disponible , certains services partagent toujours un processus.

C'est un tel cas, et la façon la plus simple d'identifier le service qui pose problème est de les séparer.

Process Hacker peut le faire. Dans l' onglet Service de ses fenêtres principales , nous pouvons configurer si un service peut partager un processus:

Propriétés MpsSvc

Au moins deux des trois services suspects doivent être configurés en tant que processus propre pour vous assurer qu'ils seront séparés à l'avenir.

Apparemment, Windows Defender n'aime pas que les utilisateurs se mêlent de la configuration de son service, donc pour réussir à modifier ce paramètre, je devais

  • accorder au groupe Administrateurs un accès complet à ce service,
  • désactiver le service,
  • redémarrer pour arrêter le service (il ne peut pas être arrêté séparément),
  • changez le type de service en Propre processus et réactivez le service (réglez-le sur Démarrage automatique ) et
  • redémarrez une dernière fois pour appliquer ces modifications.

Après cela, le délinquant svchost.exehéberge uniquement un seul service, nous avons donc un suspect:

Pare-feu Windows Defender (MpsSvc)

Pour analyser ce qui se passe à l'intérieur du service de pare-feu, nous allons utiliser l'outil Windows Performance Recorder et Windows Performance Analyzer, qui fait partie de Windows ADK .

Nous allons commencer par enregistrer quelques données. Pendant que le suspect svchost.exeglisse en arrière-plan, téléchargez ce fichier , ajoutez-le en tant que profil, configurez l'enregistreur de performances Windows comme ceci et démarrez un enregistrement:

Enregistreur de performances Windows: vérifiez le triage de premier niveau et le profil d'utilisation du processeur

Laissez l'enregistrement fonctionner pendant environ 30 secondes, puis sauvegardez l'enregistrement. Après l'enregistrement, cliquez sur Ouvrir dans WPA pour l'ouvrir immédiatement pour analyse.

C'est là que les choses commencent à devenir délicates. Dans mon cas, j'avais besoin d'un indice de @ magicandre1981 pour regarder au bon endroit, sous Activité systèmeÉvénements génériques . Là, le nombre d'événements RPC semblait étrangement élevé:

46.918 Événements Microsoft-Windows-RPC

Le forage vers le bas, le Windows Defender Le pare - feu svchost.exea été Révéler beaucoup sur le serveur côté win:Startet win:Stopévénements:

RpcServerCall

L'étape suivante consistait à découvrir qui avait envoyé ces appels RPC. En regardant du côté client, une autre svchost.exeinstance semblait suspecte:

RpcClientCall

En effet, Process Hacker n'a pas pu détecter un service s'exécutant à l'intérieur de ce processus, ce qui provoquait également de manière constante une charge CPU:

Nom du groupe de services: netsvcs

Dans ce cas, le Gestionnaire des tâches de Windows a réussi à identifier le service:

Partage de connexion Internet (ICS)

En effet, le service était bloqué dans l' état Démarrage . Je l'ai désactivé depuis que je n'en ai pas besoin, et la charge CPU est revenue à la normale après le prochain redémarrage.


Je voudrais exprimer ma gratitude envers @HelpingHand et @ magicandre1981 dont l'aide dans les commentaires a rendu cela possible.


Comme cela a été découvert plus tard dans le post TenForums , la réinitialisation du pare-feu Windows Defender résout ce problème.


@HelpingHand: que se passe-t-il si l'on désactive les Internet Connection Sharing (ICS)services? Le WiFi Hotspot ne sera-t-il plus une option?
llinfeng

C'est un peu plus facile dans Process Explorer. Si vous faites un clic droit sur le "svchost.exe" qui utilise une quantité de processeur constante (mon cas était constant à 5%) et cliquez sur l'onglet "Services", vous verrez quel (s) service (s) sont exécutés sous ce svchost. Je n'en avais qu'un dans ce cas, ICS. De même, mon partage de connexion Internet était bloqué dans un état de départ. Aller à "Firewall & Network Protection" J'ai pu cliquer sur "Restaurer les pare-feu par défaut" - cela a instantanément résolu mon problème.
Howard Lince III

@Howard: Considérez-vous chanceux - une complication du maire pour moi était que trois services partagent l'instance problématique svchost.exe, ce qui rend difficile l'identification du service à l'origine de cela. Je ne sais pas pourquoi ils n'ont pas partagé de processus hôte dans votre instance.
fefrei

2

C'est plus simple, j'ai réussi en réinitialisant leurs paramètres de pare-feu Windows (en particulier s'il y a un pic connexe de charge CPU) en utilisant ces instructions: -

La réinitialisation du pare-feu Windows Defender aux paramètres par défaut a résolu le problème.

Pour ce faire, ouvrez Paramètres -> Mise à jour et sécurité -> Windows Defender -> Ouvrez Windows Defender Security Center -> Pare-feu et protection réseau -> Restaurer les paramètres par défaut du pare-feu

J'espère que cela aide et fonctionne pour quelqu'un d'autre ... Cela semble être un problème assez répandu.


1
En effet, cela a également fonctionné pour moi, comme je l'ai mentionné tout en bas de ma réponse. Merci d'avoir reproduit les étapes ici!
fefrei

0

Dans mon cas, après avoir essayé divers correctifs infructueux (y compris certaines des suggestions ci-dessus, par exemple la réinitialisation du pare-feu Windows), j'ai désactivé le "Diagnostic Policy Service", et la surcharge du processeur a finalement cessé. Ce n'est peut-être pas la solution idéale, mais cela ne semble pas être un service essentiel. Voici comment le désactiver:

  1. Ouvrez "Configuration système" ('msconfig.exe') en tant qu'administrateur
  2. Onglet Général: choisissez "Démarrage sélectif"
  3. Onglet Services: décochez "Diagnostic Policy Service"
  4. Redémarrez Windows

Merci à la chaîne YouTube de Ranga Rajesh Kumar de m'avoir pointé vers cette solution.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.