Šta je svchost

Možda ste videli da na vašem računaru radi par procesa pod imenom svchost.exe. Možete da ih isključite, ali se ne sećate da ste ih pokrenuli... pa šta su onda oni ?
Prema Microsoft-u: "svchost.exe je ime generički proces za servise koji služi za pokretanje servisa koji se nalaze u DLL (Dynamic Link Library) fajlovima". Neki servisi su neophodni za normalan rad, a neki servisi mogu da pripadaju programima koje ste instalirali pa nakon instalacije programa.

Pre određenog vremena, Microsoft je počeo da prebacuje celokupnu funkcionalnost sa internih Windows servisa u .dll fajlove umesto u .exe fajlove. Sa programerske tačke gledišta, ovo ima smisla zbog upotrebljivosti, ali problem je u tome što vi ne možete da pokrenete .dll fajl direktno iz Windows-a, već on mora da se učita iz aktivnog izvršnog fajla (.exe). I zato je stvoren svchost.exe proces.

Zašto je aktivno tako mnogo svchost.exe ?



Ako ste nekad pogledali Services sekciju u kontrolnom panelu možda ste primetili da ima mnogo servisa koje Windows koristi. Ako bi svi servisi radili pod jednom svchost.exe instancom, problem u jednom servisu bi mogao da sruši čitav Windows zato su oni međusobno razdvojeni.

Ovi servisi su organizovani u logičke grupe, a onda se jedna svchost.exe instanca kreira za svaku grupu. Na primer, jedna svchost.exe instanca pokreće 3 servisa koja su vezana za rad firewall-a. Druga svchost.exe instanca može da pokreće sve servise koji su vezani za korisnički interfejs i tako dalje.


Šta možemo uraditi u vezi njih ?



Možete da isključite nepotrebne servise, tj. nekorišćene servise tako što ćete isključiti ili stopirati servis za koji nije apsolutno neophodno da radi. Pored toga, ako primetite da određena svchost instanca jako opterećuje rad procesora, vi možete da restartujete servise koji rade pod datom instancom.
Najveći problem je identifikovanje servisa koji rade pod određenom svchost.exe instancom o tome u nastavku teksta.

Ako ste radoznali i interesuje vas o čemu to tačno pričam, samo otvorite Task Manager i potvrdite polje "Show processes from all users" (dole levo):
Ako koristite Windows 8 ili 10, treba da idete na Details tab.



Upotreba Process Explorer-a u svim verzijama Windows-a


 





Možete upotrebiti odličan program pod koji se zove Process Explorer od Microsoft/Sysinternals-a da biste videli koji servisi rade kao deo određenog svchost.exe procesa.
Postavite miš na jedan od svchost.exe procesa i pojaviće se popup lista svih servisa:
Ili možete 2 puta da kliknete na svchost.exe instancu i izaberete Services karticu, na kojoj možete da stopirate jedan od servisa ako želite.


Upotreba Svchost Viewer-a



Svchost Viewer je mala aplikacija koja će vam izlistati sve pokrenute svchost.exe instance, prikazati koliko svaka instanca koristi memorije i koji servis je iza svchost-a. Dobra stvar kod Svchost viewer-a je ta što ne morate ga instalirati, možete ga koristiti sa USB flash diska.
Sve što je potrebno je 2 puta kliknuti na aplikaciju, pokrenuti i kliknuti na "Yes" da prikupi podatke.
Kada završi skeniranje i prikupljanje podataka, prikazaće vam sve pokrenute svchost.exe instance zajedno sa imenom servisa, opisom, zauzećem memorije, itd.
Program je odličan da vidite šta se dešava iza svchost instanci. Svchost Viewer je open source, zahteva .NET 2.0 framework i trebao bi raditi i na XP (SP2)

Svchost Viewer možete preuzeti sa codeplex.com