The trademark of Windows is the combination of Ctrl-Alt-Del buttons bringing up a variety of tasks even if the computer is busy with some other process. If you look at the list of programs running in the Task Manager, you’ll find that a lot of memory goes to a program called svchost.exe and there are multiple instances of it running at all times.
Why are there so many instances of the same process and why can’t you just shut down the process?
Let’s see how Microsoft defines this process – svchost.exe is a generic host process name for services that run from dynamic link libraries. In the recent past, Microsoft found that packing all the Windows services into dll files rather than running it from exe files.
From the viewpoint of a programmer and considering memory allocation for each program, this seems like a wiser decision than running multiple applications. The only problem is that it is impossible to run a dll file directly because the files cannot be executed. Therefore, you have to pack the dll files with an exe and have the exe file run the libraries.
This is the story of the birth of the svchost.exe file.
Next, we try to answer why there are multiple files of the same name running all your services. If you consider the situation where all your primary services are being run by just one application, then what happens if the application crashes? It could bring the whole computer down and cause it to crash.
Therefore, processes are delegated to multiple instances of the same file and separated out into different process numbers. The way these services are separated is by logical arrangement; related processes are grouped under a single application and therefore when it crashes, the process tree of one single application crashes and this does not affect the system.
The advantage that you get with this process pattern is that you can identify the instance that is consuming the maximum memory and choose to shut it down in case you run short of memory. In case you suspect a looping process in one of the files, you can even restart it to make sure that the execution of the process is smooth.
If you’re concerned about which svchost.exe runs which process, all you have to do is open the command prompt and type in tasklist/svc.