Fixing Windows Vista, Part 4: Get smart about services

In the three previous installments of this series, I discussed ways to improve the performance of Windows Vista by changing some settings (especially those installed by an OEM PC maker). Today's installment is a little different. Mostly, it's about not wasting your time following bad advice. The single most common bogus tip I read at Windows-focused websites is the one that advises Vista users to disable "unnecessary" services. What's an unnecessary service? They can't tell you, so they recommend that you waste yor time with tedious trial-and-error techniques. Bad advice. I'll save you time (and headaches) by identifying four specific circumstances under which you might want to disable services to improve system performance. Read on for the full details.

In the three previous installments of this series, I discussed ways to improve the performance of Windows Vista by changing some settings (especially those installed by an OEM PC maker). If you need to catch up, go read Part 1 (the pros and cons of a clean install), Part 2 (UAC tips and tweaks), and Part 3 (troubleshooting tools and techniques).

Today's installment in this series is a little different. Mostly, it's about not wasting your time following bad advice. Dozens of websites purport to offer tips on how to speed up Vista. In most cases, I've found the advice to be fairly obvious, but I've also seen plenty of popular tips that are just plain bogus.

The single most common bogus tip I read is the one that advises Vista users to disable "unnecessary" services. This tip starts with the reasonable argument that Windows Vista just has too damn many services running, and each service you shut down will free up memory and CPU cycles and put the zip, zing, and zoom back in your desktop. One popular website even lists several levels of recommended service configurations. (It doesn't have one entitled "OK, punk, do you feel lucky?")

  Image Gallery: I’ve created a gallery that shows how to measure the impact of services on system performance and decide which services are worth disabling.  
Taming and Tweaking Windows Vista Services
Taming and Tweaking Windows Vista Services

The one thing I have found every time I run across this tip is the complete absence of any evidence to establish what it's supposed to do for you. Instead, this tip is usually delivered as a vague recommendation that reads something like this snippet, taken from a very large, popular publication that shall remain nameless to spare them embarrassment:

But be careful! Click the Services tab, and uncheck only the services you're certain you don't need. To be safe, [open Msconfig and] uncheck one, reboot, and see if everything still works fine before moving on to another. Do your homework via online help or a web search before experimenting!

That is breathtakingly bad advice. It is as if the automotive columnist in your local newspaper told you to open the hood of your car and start disconnecting wires and hoses one at a time to see which ones made your car run faster or quieter or smoother. It might be hours or days or even weeks before you run a program that requires the service you disabled, at which point you might have no clue that the disabled service is the cause of the nonfunctional program.

Here's the reality: On an otherwise healthy PC running Windows Vista, disabling most built-in Windows services is extremely unlikely to have any noticeable effect on memory usage, startup or shutdown time, or system performance. On the contrary, you are more likely to create problems by disabling services. Not to mention the amount of time you will surely waste and the productivity you will lose with all that starting and stopping and rebooting and web searching.

I've identified four specific situations in which tweaking services might make a difference in the performance of an individual Vista system. In he following pages and in the screenshot gallery that accompanies this installment, I'll provide some background on how services work and then discuss these situations in detail. I'll also show you how to decide which (if any) of these services you want to modify. (Hint: For most people, the correct answer is "none.")

Page 2: What do you have to gain (or lose) by messing with services?

Page 3: The only Vista services that matter, performance-wise

Continue reading: What you need to know about services -->

What do you have to gain (or lose) by messing with services?

First, a definition. In the just-published Windows Vista Inside Out, Deluxe Edition, our discussion of services begins with the following definition:

A service is a specialized program that performs a function to support other programs. Many services operate at a very low level (by interacting directly with hardware, for example) and need to run even when no user is logged on; for this reason, they are often run by the System account (which has elevated privileges) rather than by ordinary user accounts.

Services run outside your user account context, typically during the startup process. From a performance perspective, there are three ways to measure the impact of services. The first is memory usage, the second is CPU usage, and the third is disk (I/O) activity.

Like its predecessors, Windows Vista offers multiple ways to examine which services are running on a system. The easiest tool to use is Task Manager. Press Ctrl+Shift+Escape to open Task Manager, and then look on the Processes tab. The default view shows only processes running under your user account; to see processes associated with services, you have to click the Show processes from all users button and answer a UAC prompt.

Task Manager without processes showing

The information in the second column (User Name) helps you spot the difference between processes running under your user account and services, which run under system-managed accounts with different levels of privilege.

The CPU and Memory columns help to identify how much impact each process is having on these two resources. If you're looking to save memory by disabling services, you're likely to be disappointed, On my main desktop, for example, I have 82 services running within 43 processes. Only three of those processes are using more than 20 MB of RAM, and those services that use a single process average less than 7 MB each.

And how about the CPU column? Again, most services work in bursts of activity, when they're performing their assigned task, and then settle down. If you click the CPU heading, you can sort the list of processes to see if any are consistently using excessive amounts of CPU and not surrendering.

The most interesting entries in the Processes list are those that run under the name Svchost.exe, which is described as Host Process for Windows Services. This is Windows' way of grouping individual services under a single process to simplify management. To see which services are running under a Svchost instance, right-click its entry in the Processes list and click Go To Service(s). That takes you to the Services tab, with the individual services highlighted in blue, as shown here. (If you click to sort by PID, you can see all these individual services in a single block.)

Services tab in Task Manager

So, which services should you pay attention to?

Continue reading: Which services really matter? -->

The only Vista services that matter, performance-wise

If you're having problems with performance and you suspect a service is to blame, the first place to look is at the list of third-party services, which are added by other programs and might be conflicting with another program or simply misbehaving. To see a concise list of third-party programs, use the Windows System Configuration utility, Msconfig.exe. Click the Services tab and select the Hide all Microsoft services checkbox at the bottom.

Msconfig third party services

You can use the check boxes to the left of each service shown here to temporarily disable a service, then restart and see if the problem you noticed has gone away. During the course of researching this article, I discovered that the Intel Viiv service running on a Dell XPS 420 was acting up for a minute or so every time I started up. The symptoms only appeared when I tried to run a program that wanted to run with administrative rights; clicking the program icon appeared to do nothing, and not until a minute later did I get the UAC dialog box I was expecting. Disabling the Viiv service, which I wasn't using, solved this problem.

You might be tempted to disable other services on the theory that you're never going to use them. The Tablet PC Input Service, for example, is enabled by default even on a desktop system. It uses no CPU resources at all, and disabling it recovers a mere 36 KB of RAM. Regaining that RAM will make absolutely no noticeable difference in performance, but it also won't hurt.

On the other hand, some services perform tasks you might not expect from their name. The Themes service, for example, runs the Aero user experience look and feel. If you disable it, you'll switch back to the ugly 1998-style Windows Classic look.

In my experience, only three built-in services have a meaningful impact on performance on a properly configured Windows Vista system:

  • Superfetch is Vista's new and improved caching service. It keeps track of the programs you run most often and tries to preload them into unused memory (as a background process) so that they're available in the cache when you need them. Superfetch really does work, cutting seconds off the load times for programs you use regularly. The trade-off is that Superfetch spends time and disk accesses managing itself. Some people dislike the chattering of the hard disk as Superfetch does its thing. If you're one of them, you can disable Superfetch in the Services console as I show in the accompanying screenshot gallery.
  • Windows Search is, for my money, Vista's killer feature. For most people, it really is a time-saver. But if you don't use it, or if you prefer a different indexing tool, you can disable it, or at least limit the amount of indexing it does. Doing so can reclaim a significant amount of RAM and disk space. I'll offer advice on the best way to use and manage Windows Search in next week's installment of this series.
  • Windows Defender is Microsoft's anti-spyware solution, which is enabled by default in every copy of Windows Vista. It runs as a service and can be particularly annoying when it does its daily scans for potentially unwanted software. To shut it down completely, open the Services console (Services.msc) and set the Windows Defender service startup type to Disabled. In my opinion, a better option is to tone down its aggressive scanning behavior: Open Windows Defender, click Tools, click Options, and then clear the Automatically scan my computer checkbox.

And that's it. In my experience, those are the only three built-in services that have a measurable impact on performance. If someone tries to talk you into disabling a bunch of other services, ask them what you stand to gain. I'll bet they can't tell you.