Hva er servicevertsprosessen (svchost.exe) og hvorfor kjører så mange?

Hvis du noen gang har surfet gjennom Oppgavebehandling, har du kanskje lurt på hvorfor det er så mange Service Host-prosesser som kjører. Du kan ikke drepe dem, og du startet dem sikkert ikke. Så, hva er de?

Service Host-prosessen fungerer som et skall for lasting av tjenester fra DLL-filer. Tjenestene er organisert i relaterte grupper, og hver gruppe kjøres i en annen forekomst av Service Host Process. På den måten påvirker et problem i en tilfelle ikke andre tilfeller. Denne prosessen er en viktig del av Windows som du ikke kan forhindre å kjøre. 

Denne artikkelen er en del av vår pågående serie som forklarer forskjellige prosesser som finnes i Oppgavebehandling, som dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe og mange andre. Vet du ikke hva disse tjenestene er? Bedre begynn å lese!

Så hva er servicevertsprosessen?

Her er svaret, ifølge Microsoft:

Svchost.exe er et generelt vertsprosessnavn for tjenester som kjører fra dynamiske lenkebiblioteker.

Men det hjelper oss egentlig ikke så mye. For en tid siden begynte Microsoft å endre mye av Windows-funksjonaliteten fra å stole på interne Windows-tjenester (som gikk fra EXE-filer) til å bruke DLL-filer i stedet. Fra et programmeringsperspektiv gjør dette koden mer gjenbrukbar og uten tvil lettere å holde seg oppdatert. Problemet er at du ikke kan starte en DLL-fil direkte fra Windows på samme måte som en kjørbar fil. I stedet brukes et skall som er lastet fra en kjørbar fil for å være vert for disse DLL-tjenestene. Og så ble Service Host-prosessen (svchost.exe) født.

Hvorfor kjører det så mange servicevertsprosesser?

RELATERT: Hva er denne prosessen, og hvorfor kjører den på PCen min?

Hvis du noen gang har tatt en titt på Services-delen i Kontrollpanel, har du sannsynligvis lagt merke til at Windows krever mange tjenester. Hvis hver eneste tjeneste kjørte under en Service Host-prosess, kan en feil i en tjeneste potensielt få ned hele Windows. I stedet skilles de ut.

Tjenester er organisert i logiske grupper som alle er noe beslektede, og deretter opprettes en enkelt Service Host-forekomst for å være vert for hver gruppe. For eksempel kjører en Service Host-prosess de tre tjenestene relatert til brannmuren. En annen Service Host-prosess kan kjøre alle tjenestene knyttet til brukergrensesnittet, og så videre. I bildet nedenfor kan du for eksempel se at en Service Host-prosess kjører flere relaterte nettverkstjenester, mens en annen kjører tjenester relatert til eksterne prosedyreanrop.

Er det noe for meg å gjøre med all denne informasjonen?

RELATERT: Bør du deaktivere Windows-tjenester for å øke hastigheten på PCen din?

Ærlig talt ikke mye. I dagene av Windows XP (og tidligere versjoner), da PC-er hadde mye mer begrensede ressurser og operativsystemene ikke var like finjusterte, ble det ofte anbefalt å stoppe Windows fra å kjøre unødvendige tjenester. I disse dager anbefaler vi ikke å deaktivere tjenester lenger. Moderne PCer har en tendens til å være lastet med minne og kraftige prosessorer. Legg til det i det faktum at måten Windows-tjenester håndteres i moderne versjoner (og hvilke tjenester som kjøres) har blitt strømlinjeformet, og å eliminere tjenester du tror du ikke trenger egentlig ikke har stor innvirkning lenger.

Når det er sagt, hvis du merker at en bestemt forekomst av Service Host - eller en relatert tjeneste - forårsaker problemer, som kontinuerlig overdreven bruk av CPU eller RAM, kan du sjekke inn på de spesifikke tjenestene som er involvert. Det kan i det minste gi deg en ide om hvor du skal begynne feilsøking. Det er noen måter å se nøyaktig hvilke tjenester som er vert for en bestemt forekomst av Service Host. Du kan sjekke opp ting i Oppgavebehandling eller bruke en flott tredjepartsapp som heter Process Explorer.

Sjekk relaterte tjenester i Oppgavebehandling

Hvis du bruker Windows 8 eller 10, vises prosesser i “Prosesser” -fanen i Oppgavebehandling med fullt navn. Hvis en prosess fungerer som vert for flere tjenester, kan du se disse tjenestene ved å utvide prosessen. Dette gjør det veldig enkelt å identifisere hvilke tjenester som tilhører hver forekomst av Service Host-prosessen.

Du kan høyreklikke på en hvilken som helst enkelt tjeneste for å stoppe tjenesten, se den i "Services" Kontrollpanel-appen, eller til og med søke online for informasjon om tjenesten.

Hvis du bruker Windows 7, er ting litt annerledes. Windows 7 Oppgavebehandling grupperte ikke prosesser på samme måte, og den viste heller ikke vanlige prosessnavn - den viste bare alle forekomster av at "svchost.exe" kjørte. Du måtte utforske litt for å bestemme tjenestene knyttet til en bestemt forekomst av "svchost.exe."

I kategorien "Prosesser" i Oppgavebehandling i Windows 7, høyreklikker du på en bestemt "svchost.exe" -prosess, og velger deretter "Gå til service" -alternativet.

Dette vil føre deg til "Tjenester" -fanen, der alle tjenestene som kjører under den "svchost.exe" -prosessen er valgt.

Deretter kan du se hele navnet på hver tjeneste i kolonnen "Beskrivelse", slik at du kan velge å deaktivere tjenesten hvis du ikke vil at den skal kjøre eller feilsøke hvorfor det gir deg problemer.

Kontroller relaterte tjenester ved hjelp av Process Explorer

Microsoft gir også et utmerket avansert verktøy for å jobbe med prosesser som en del av Sysinternals-serien. Bare last ned Process Explorer og kjør den - det er en bærbar app, så du trenger ikke å installere den. Process Explorer tilbyr alle slags avanserte funksjoner - og vi anbefaler på det sterkeste å lese vår guide for å forstå Process Explorer for å lære mer.

RELATERT: Hva er en "bærbar" app, og hvorfor betyr det noe?

For våre formål her grupperer imidlertid Process Explorer relaterte tjenester under hver forekomst av "svchost.exe." De er oppført etter filnavn, men deres fulle navn vises også i kolonnen "Beskrivelse". Du kan også holde musepekeren over en av “svchost.exe” -prosessene for å se en popup med alle tjenestene som er relatert til den prosessen - til og med de som ikke kjører for øyeblikket.

Kan denne prosessen være et virus?

Selve prosessen er en offisiell Windows-komponent. Selv om det er mulig at et virus har erstattet den virkelige Service Host med en egen kjørbar, er det veldig lite sannsynlig. Hvis du vil være sikker, kan du sjekke ut den underliggende filplasseringen til prosessen. I Oppgavebehandling, høyreklikk på en hvilken som helst Service Host-prosess og velg alternativet "Åpne filplassering".

Hvis filen er lagret i Windows \ System32-mappen, kan du være ganske sikker på at du ikke har å gjøre med et virus.

RELATERT: Hva er det beste antivirusprogrammet for Windows 10? (Er Windows Defender bra nok?)

Når det er sagt, hvis du fortsatt vil ha litt mer trygghet, kan du alltid skanne etter virus ved hjelp av din foretrukne virusscanner. Bedre trygt enn beklager!