Comment suivre l'utilisation du processeur pour les services Windows?

27

J'utilise le gestionnaire de tâches Windows pour suivre l'utilisation du processeur. Je remarque que mes applications sont répertoriées, mais pas les services Windows.

Par exemple, l'utilisation totale du processeur est répertoriée à 70%, mais le résumé des applications répertoriées n'est que d'environ 30%. Je suppose que la différence vient des services qui ne sont pas répertoriés dans l'onglet Processus du Gestionnaire des tâches de Windows.

poussins
la source

Réponses:

25

Voici comment obtenir des détails sur un service sans aucun outil externe sur Windows 7 et 8:

Ouvrez le moniteur de ressources:

  • Ouvrez le Gestionnaire des tâches et cliquez sur l'onglet Performances
  • Cliquez sur "Open Resource Monitor" en bas

Afficher les détails du service:

  • Cliquez sur l'onglet "CPU"
  • Dans la section "Processus", recherchez le processus souhaité; vous pouvez trier par CPU en cliquant sur l'en-tête de colonne "CPU"
    • Cochez la case à côté
  • Développez la section "Services" ci-dessous; vous verrez quel service spécifique utilise le CPU

entrez la description de l'image ici

J'ai dû comprendre cela parce que svchost consommait beaucoup de ressources et c'était la seule façon dont je pouvais voir que upnphost était le coupable.

dominik andreas
la source
Il existe également une section «Services» que vous pouvez développer sous «Processus». Quoi qu'il en soit, merci!
Nicholas Riley
C'est ce dont je parlais, heureux que vous l'ayez trouvé :-) en sélectionnant un processus sous "Processus" (tel qu'un svchost particulier dans mon cas), vous pouvez voir les services dans la vue "Services" qui sont associés à ce particulier processus.
dominik andreas
Enfin, je pourrai retrouver ce mystérieux service qui utilise 1 CPU à 100% sur Windows 7, uniquement lorsque mon écran s'éteint après 15 minutes d'inactivité. Dès que je le réveille, le service libère le CPU qu'il utilise. J'en ai juste vu assez pour voir que c'est un "svchost" ... maintenant, avec la moyenne de 60 sec, j'aurai le temps de le voir. Merde botnets!
MrBrody
7

Le meilleur outil est probablement Process Explorer de Sysinternals. Vous pouvez obtenir cet outil et bien d'autres ici .

Modifier: pour voir quels services sont exécutés dans svchost plutôt que comme un processus séparé, vous devez ajouter la colonne "Ligne de commande" à la fenêtre de droite. Malheureusement, cela ne vous montrera pas les services qui fonctionnent ensemble. Pour voir ces informations dans Process Explorer, vous devez placer votre souris sur l'instance spécifique de svchost en question. Les informations apparaîtront dans une fenêtre contextuelle.

KevinH
la source
Vous pouvez également choisir de remplacer procman taskman. Procmon le fait en s'enregistrant comme débogueur pour taskman et en s'exécutant simplement au lieu de taskman lorsque quelque chose veut démarrer taskman.
Brian Reiter
Oups. Pas procmon, je veux dire procexp. (Procmon étant un autre outil de sysinternals qui vous permet de surveiller l'accès au registre, au système de fichiers et à l'API Windows pour les processus.)
Brian Reiter
Notez que si vous utilisez Fichier> Afficher les détails de tous les processus, vous pouvez ensuite utiliser l'onglet Threads dans les propriétés du processus pour cette instance de svchost.exe (double-cliquez sur le processus ou appuyez sur Entrée) pour voir l'utilisation du processeur par thread, et la colonne Service répertorie le service correspondant.
Nicholas Riley
Dans ProcessExplorer, les onglets [Services] et [TCP / IP] m'ont fourni des informations précieuses sur l'identification de service spécifique. Il existe également une autre façon d'identifier le service via le clic droit de la souris dans le gestionnaire de tâches standard que je poste ci-dessous en tant que réponse distincte.
Alex Fortuna
1

Essayez le gestionnaire de tâches étendues gratuit d'Extensoft

http://www.extensoft.com/?p=downloads

Accédez à l' onglet Services et cliquez avec le bouton droit sur un service en cours d'exécution, puis cliquez sur Aller au processus .

Il vous ramènera à l'onglet Processus et mettra en évidence le processus utilisé par ce service.

Qwerty
la source
J'ai installé le gestionnaire de tâches étendues gratuit extensoft. Il ajoute un onglet de service. Je clique sur le service et sélectionne go to process. Il passe à l'onglet Processus mais ne met pas en surbrillance le processus. De plus, existe-t-il un outil qui montre l'utilisation de l'UC de tous les services dans une liste (similaire à la liste des processus dans le gestionnaire de tâches)? Remarque: j'utilise Windows Vista Home Premium Edition.
Je ne sais pas pourquoi cela ne met pas en évidence le processus. J'ai également une machine Vista à côté de moi et elle montre quel processus est lié au service.
Qwerty
1

De nombreux services s'exécutent dans une instance d'un processus hôte générique, svchost.exe. Vous pouvez utiliser tasklist / svc sur une ligne de commande pour obtenir une énumération des services exécutés à l'intérieur de chaque instance de svchost.exe ainsi que d'autres processus.

Vous pouvez également cliquer avec le bouton droit sur un processus svchost.exe dans le gestionnaire de tâches et sélectionner «Aller aux services» et taskman basculera vers l'onglet services et mettra en surbrillance les services pertinents.

Avec sysinternals process explorer , vous pouvez survoler un servicehost.exe avec votre souris et voir une info-bulle des services hébergés.

Aucun de ceux-ci ne vous indiquera combien de temps processeur du processus de service hôte est dédié à un service membre particulier hébergé dans.

Brian Reiter
la source
tasklist /svcest une bonne chose, montre les PID et les services connexes sous une forme brève. Merci!
Alex Fortuna
1

Cela a fonctionné pour moi dans le gestionnaire de tâches standard disponible dans Windows 7 Ultimate:

  1. Ouvrez le Gestionnaire des tâches.
  2. Cliquez sur l'onglet [Processus].
  3. Cliquez sur le bouton [Afficher les processus de tous les utilisateurs].
  4. Cliquez avec le bouton droit sur ce svchost.exequi vous cause des problèmes (mémoire, CPU, etc.)
  5. Dans le menu déroulant, sélectionnez [Aller aux services].

Cela vous amènera à l'onglet [Services] avec 1 ou plusieurs services connexes mis en évidence . Veuillez noter qu'un seul svchost.exepeut concerner un certain nombre de services dans l'onglet [Services].

Alex Fortuna
la source
0

Vous devez ouvrir le gestionnaire de tâches en tant qu'administrateur. Cliquez sur le bouton "Afficher les processus de tous les utilisateurs".

Mais comme l'a dit Brian Reiter, de nombreux services sont hébergés dans un même processus. Pour savoir quel service consomme votre processeur, vous pouvez essayer mon outil de divulgation de service . Il vous permet de diviser les services en processus dédiés. Vous pourrez voir quel service utilise les ressources. Après enquête, il vous permet de renvoyer tous les services.

Dmytro Ovdiienko
la source