What is Svchost?
Svchost is short for “Service Host”. Many components of the Windows operating system are implemented through what are called "services" - programs that run in the background that aren't necessarily associated with whomever is logged into the machine. A fair number of those services are implemented in DLLs rather than in stand-alone executables to ensure reusability. But a DLL is only a library of functions that can't be run on its own. It can only be called by executable programs. Svchost was created to fulfill this purpose.
Svchost is a standalone program whose job is to execute services that are implemented in DLLs. Since there are so many services to run, these are collected into logical groups and assigned to one svchost.exe. This is why you see so many instances of svchost.exe running. (Thanks AskLeo)
Svchost viewer is a small application that lists all the services which are running under each instance of svchost.exe. It gives a brief description of each service, the amount of memory it’s currently using, the amount data of data it has read and written and whether the service can be paused or terminated.
It’s an extremely useful tool to have if you want to diagnose problems relating to svchost.exe, or just to know what’s going on under the hood.
Svchost viewer is portable and runs on Windows XP, Vista and 7. (requires the .NET 2.0 framework)