web-dev-qa-db-fra.com

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

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

graph of CPU utilization

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

Base Filtering Engine, CoreMessaging, Windows Defender Firewall

Le temps de calcul est consommé par un thread au sein de ce processus que Process Hacker ne peut attribuer à aucun de ces trois services:

screenshot from Process Hacker

Étant donné que ces trois services sont considérés comme des services système critiques, 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 fermeture du processus déclenche une vérification de bogue (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 cela plus loin? Existe-t-il une solution de contournement pour arrêter ces services?


Mise à jour: Après un certain débogage avec @ HelpingHand , nous l'avons isolé du service Windows Defender Firewall. . Process Monitor montre qu'il accède en permanence au registre:

screenshot from Process Monitor

Une exportation CSV d'une capture de Process Monitor filtrée en fonction de ce processus est disponible ici .

Je cherche toujours un moyen de mettre fin à ce comportement.


Mise à jour 2: L'analyse avec l'Analyseur de performances Windows montre que la majeure partie du temps processeur est consommée par le code de rpcrt4.dll:

screenshot from Windows Performance Analyzer

10
fefrei

En fin de compte, cela était lié au partage de connexion Internet (ICS).

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


La première étape consiste à identifier le service posant problème. Bien que le propre gestionnaire de tâches de Windows ait récemment appris à le faire, j'ai utilisé le processus Hacker , qui permet également de modifier la configuration d'un service.

Double-cliquez sur l'instance svchost.exe incriminée et sélectionnez l'onglet Service pour afficher les services en cours d'exécution dans ce processus:

svchost.exe (1688) Properties

svchost.exe peut héberger plusieurs services Windows en même temps, ce qui rend difficile d'identifier le service qui pose problème. Alors que les versions récentes de Windows 10 isolent généralement les services lorsque suffisamment de RAM est disponible , certains services partagent encore un processus.

C’est le cas et le moyen le plus simple de déterminer quel service pose problème est de les séparer.

Process Hacker peut le faire. Dans l'onglet Service de sa fenêtre principale, vous pouvez configurer si un service peut partager un processus:

MpsSvc Properties

Au moins deux des trois services suspects doivent être configurés en tant que processus propre pour être sûr 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. Par conséquent, pour modifier ce paramètre, je devais

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

Après cela, le svchost.exe incriminé n'héberge qu'un seul service. Nous avons donc un suspect:

Windows Defender Firewall (MpsSvc)

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

Nous allons commencer par enregistrer des données. Tandis que le suspect svchost.exe jongle en arrière-plan, téléchargez ce fichier , ajoutez-le en tant que profil, configurez ainsi Windows Performance Recorder et démarrez un enregistrement. :

Windows Performance Recorder: check First level triage and CPU Usage Profile

Laissez l'enregistrement fonctionner pendant environ 30 secondes, puis sauvegardez-le. Après la sauvegarde, cliquez sur Ouvrir dans WPA pour l’ouvrir immédiatement à l’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é du système Événements génériques . Là-bas, le nombre d’événements RPC semblait étrangement élevé:

46.918 Microsoft-Windows-RPC events

En analysant de plus près, le svchost.exe du pare-feu Windows Defender Firewall apparaissait beaucoup du côté Serveur des événements win:Start et win:Stop:

RpcServerCall

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

RpcClientCall

En effet, Process Hacker n'a pas pu détecter un service en cours d'exécution dans ce processus, qui provoquait également de manière constante une charge de processeur:

Service group name: netsvcs

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

Internet Connection Sharing (ICS)

En effet, le service était bloqué dans l'état de départ . Je l'ai désactivé car je n'en ai pas besoin, et la charge du processeur 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 par la suite dans la publication de TenForums , la réinitialisation du pare-feu Windows Defender résout ce problème.

9
fefrei

C'est plus simple, j'ai eu du succès en réinitialisant les paramètres de leur pare-feu Windows (particulièrement s'il y a un pic lié à la charge du processeur) en utilisant ces instructions: -

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

Pour ce faire, ouvrez Paramètres -> Mise à jour et sécurité -> Windows Defender -> Ouvrez Windows Defender Security Center -> Protection réseau et pare-feu -> 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.

2
Mohamad Osama