Qu'est-ce que le processus de l'hôte de service (svchost.exe) et pourquoi en est-il autant en cours d'exécution?

Si vous avez déjà parcouru le Gestionnaire des tâches, vous vous êtes peut-être demandé pourquoi tant de processus d'hôte de service sont en cours d'exécution. Vous ne pouvez pas les tuer, et vous ne les avez certainement pas démarrés. Alors, quels sont-ils?

Le processus d'hôte de service sert de shell pour le chargement de services à partir de fichiers DLL. Les services sont organisés en groupes liés et chaque groupe est exécuté dans une instance différente du processus hôte de service. De cette façon, un problème dans une instance n'affecte pas les autres instances. Ce processus est une partie vitale de Windows que vous ne pouvez pas empêcher de fonctionner. 

Cet article fait partie de notre série en cours expliquant divers processus trouvés dans le Gestionnaire des tâches, comme dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe et bien d'autres. Vous ne savez pas quels sont ces services? Mieux vaut commencer à lire!

Alors, quel est le processus hôte de service?

Voici la réponse, selon Microsoft:

Svchost.exe est un nom de processus hôte générique pour les services qui s'exécutent à partir de bibliothèques de liens dynamiques.

Mais cela ne nous aide pas vraiment beaucoup. Il y a quelque temps, Microsoft a commencé à modifier une grande partie des fonctionnalités de Windows, passant des services Windows internes (qui s'exécutaient à partir de fichiers EXE) à l'utilisation de fichiers DLL à la place. Du point de vue de la programmation, cela rend le code plus réutilisable et sans doute plus facile à maintenir à jour. Le problème est que vous ne pouvez pas lancer un fichier DLL directement à partir de Windows de la même manière qu'un fichier exécutable. Au lieu de cela, un shell chargé à partir d'un fichier exécutable est utilisé pour héberger ces services DLL. C'est ainsi qu'est né le processus de l'hôte de service (svchost.exe).

Pourquoi tant de processus d'hôte de service sont-ils en cours d'exécution?

CONNEXION: Quel est ce processus et pourquoi s'exécute-t-il sur mon PC?

Si vous avez déjà regardé la section Services du Panneau de configuration, vous avez probablement remarqué que Windows nécessite de nombreux services. Si chaque service s'exécutait sous un seul processus d'hôte de service, une panne dans un service pourrait potentiellement entraîner l'arrêt de l'ensemble de Windows. Au lieu de cela, ils sont séparés.

Les services sont organisés en groupes logiques qui sont tous quelque peu liés, puis une seule instance d'hôte de service est créée pour héberger chaque groupe. Par exemple, un processus d'hôte de service exécute les trois services liés au pare-feu. Un autre processus d'hôte de service peut exécuter tous les services liés à l'interface utilisateur, etc. Dans l'image ci-dessous, par exemple, vous pouvez voir qu'un processus d'hôte de service exécute plusieurs services réseau associés, tandis qu'un autre exécute des services liés aux appels de procédure distante.

Y a-t-il quelque chose que je puisse faire avec toutes ces informations?

CONNEXION: Devez-vous désactiver les services Windows pour accélérer votre PC?

Honnêtement, pas beaucoup. À l'époque de Windows XP (et des versions précédentes), lorsque les PC avaient des ressources beaucoup plus limitées et que les systèmes d'exploitation n'étaient pas aussi affinés, il était souvent recommandé d'empêcher Windows d'exécuter des services inutiles. De nos jours, nous ne recommandons plus de désactiver les services. Les PC modernes ont tendance à être chargés de mémoire et de processeurs haute puissance. Ajoutez cela au fait que la façon dont les services Windows sont gérés dans les versions modernes (et les services exécutés) a été rationalisée et que l'élimination des services dont vous pensez ne pas avoir besoin n'a plus vraiment d'impact.

Cela dit, si vous remarquez qu'une instance particulière de l'hôte de service - ou un service associé - cause des problèmes, comme une utilisation excessive continue du processeur ou de la RAM, vous pouvez vérifier les services spécifiques impliqués. Cela pourrait au moins vous donner une idée de l'endroit où commencer le dépannage. Il existe plusieurs façons de voir exactement quels services sont hébergés par une instance particulière de l'hôte de service. Vous pouvez vérifier les choses dans le Gestionnaire des tâches ou en utilisant une excellente application tierce appelée Process Explorer.

Vérifier les services connexes dans le Gestionnaire des tâches

Si vous utilisez Windows 8 ou 10, les processus sont affichés dans l'onglet «Processus» du Gestionnaire des tâches par leur nom complet. Si un processus sert d'hôte pour plusieurs services, vous pouvez voir ces services en développant simplement le processus. Cela facilite l'identification des services appartenant à chaque instance du processus de l'hôte de service.

Vous pouvez cliquer avec le bouton droit sur n'importe quel service individuel pour arrêter le service, l'afficher dans l'application Panneau de configuration «Services» ou même rechercher en ligne des informations sur le service.

Si vous utilisez Windows 7, les choses sont un peu différentes. Le Gestionnaire des tâches de Windows 7 ne regroupait pas les processus de la même manière, ni n'affichait les noms de processus normaux - il montrait uniquement toutes les instances de «svchost.exe» en cours d'exécution. Vous avez dû explorer un peu pour déterminer les services liés à une instance particulière de «svchost.exe».

Dans l'onglet «Processus» du Gestionnaire des tâches dans Windows 7, cliquez avec le bouton droit sur un processus «svchost.exe» particulier, puis choisissez l'option «Aller au service».

Cela vous ramènera à l'onglet «Services», où les services exécutés sous ce processus «svchost.exe» sont tous sélectionnés.

Vous pouvez alors voir le nom complet de chaque service dans la colonne «Description», de sorte que vous pouvez choisir de désactiver le service si vous ne voulez pas qu'il soit en cours d'exécution ou de déterminer pourquoi il vous pose des problèmes.

Vérifier les services connexes à l'aide de Process Explorer

Microsoft fournit également un excellent outil avancé pour travailler avec des processus dans le cadre de sa gamme Sysinternals. Il suffit de télécharger Process Explorer et de l'exécuter - c'est une application portable, donc pas besoin de l'installer. Process Explorer fournit toutes sortes de fonctionnalités avancées et nous vous recommandons vivement de lire notre guide pour comprendre Process Explorer pour en savoir plus.

CONNEXION: Qu'est-ce qu'une application «portable» et pourquoi est-ce important?

Pour nos besoins ici, cependant, Process Explorer regroupe les services associés sous chaque instance de «svchost.exe». Ils sont répertoriés par leurs noms de fichiers, mais leurs noms complets sont également indiqués dans la colonne «Description». Vous pouvez également placer le pointeur de votre souris sur l'un des processus «svchost.exe» pour voir une fenêtre contextuelle avec tous les services liés à ce processus, même ceux qui ne sont pas en cours d'exécution.

Ce processus pourrait-il être un virus?

Le processus lui-même est un composant Windows officiel. Bien qu'il soit possible qu'un virus ait remplacé le véritable hôte de service par son propre exécutable, c'est très peu probable. Si vous souhaitez en être sûr, vous pouvez vérifier l'emplacement du fichier sous-jacent du processus. Dans le Gestionnaire des tâches, cliquez avec le bouton droit sur n'importe quel processus de l'hôte de service et choisissez l'option «Ouvrir l'emplacement du fichier».

Si le fichier est stocké dans votre dossier Windows \ System32, vous pouvez être à peu près certain de ne pas avoir affaire à un virus.

CONNEXION: Quel est le meilleur antivirus pour Windows 10? (Windows Defender est-il assez bon?)

Cela dit, si vous voulez encore un peu plus de tranquillité d'esprit, vous pouvez toujours rechercher des virus à l'aide de votre antivirus préféré. Mieux vaut prévenir que guérir!