When I left my computer on for a while before I went to grab lunch today, I came back and–expectedly–the monitor was powered off. So, I moved the mouse and…
Instead, the disk was thrashing like crazy. I figured it was possible something had gotten swapped out to disk. Unlikely, sure, but stranger things have happened. Long story short, it took nearly a minute after pressing ctrl+alt+delete before anything appeared. I’ve never had this happen under XP, and it turns out that nothing had been swapped to disk. Most applications were responsive but that disk thrashing had to stop.
I poked around with the process and service list for some time before I finally settled on the culprit. In Windows Vista, it is fairly well known that the Windows Search service will actively index accessible files. Windows Search appears to be more well-behaved in Win 7 and disabling it didn’t have any effect. It turns out that the misbehaving process (which had read more than 2GiB of data by the time I got to the system) was a surprisingly well hidden one. It’s launched from the Task Scheduler and is called “WinSAT.” It’s purpose is to “[m]easure a system’s performance and capabilities.” Here’s what it looks like from the scheduler (click for a slightly bigger version):
Honestly, I don’t like it when a service runs, eats process time, and more importantly hampers my ability to do useful work. This is especially true for a service that simply measures a system’s performance. Why is this needed? In particular, why is this enabled by default to run automatically, without user input, and why is this a redundant feature to the system performance index accessible from the system information dialog (winkey+pause/break)? If I wanted it to run, I’d do it myself.
I’m assuming it’s only run once even though the scheduler is set to “whenever the computer is idle.” In either case, I don’t trust it. It stays off.
Be sure to go through the task scheduler. I found a few additional tasks that were set to run automatically which could affect performance, including automatic defragmentation. Now I understand why there were so many complaints about Vista!
2 Responses to “Windows 7 Disk Thrashing Quickie”
Wow… I wonder what brilliant, outsourced Indian came up with the brialliant design and function of that process… MS never ceases to amaze me.
I’d imagine it was work done in Redmond. Actually, what I find rather sad about the auto-defragmentation task is that it assumes all users are stupid and ignorant. While the vast majority of people have zero understanding of what goes on “under the hood,” I think it’s pretty ridiculous that it takes power users, enthusiasts, developers, and other advanced users at least several hours of digging just to find out what’s causing endless disk activity. Another thing that annoys me is that when I was doing a search, one of the links I followed was to a thread on MSDN where someone posted (and I’m paraphrasing here as I don’t have the link on hand right now) “Well, it’s not going to hurt your drive’s life span so why are you worried? If you turn it off and on, that’ll do more damage.”
The issue isn’t a matter of killing the hardware any sooner but rather making it more usable during the hardware’s lifetime. If a bunch of automatically started disk-accessing processes fire off at once, even if they purportedly run only when the system is idle, it’s useless if the system becomes almost unresponsive. That’s what happened in my case: It took nearly a minute and a half for the screen to go from black to fully rendered. It’s like selling someone a car and telling them “Hey, the vehicle does self-maintenance. Isn’t that cool? Oh, by the way, if it’s doing maintenance on itself, there’s a possibility that you won’t be able to start it if the vehicle is parked, and if you’re driving, it may freeze up!”
When I tried an earlier release of Ubuntu (7.something, IIRC), I recall that they had several indexing services enabled by default. Since I had installed it on my laptop, I was pretty upset by that particular service running constantly from boot. Many mobile users complained about it and Canonical listened. The difference, of course, being that even if you didn’t know what was starting the service under Linux, you could terminate the process and go about your business of finding it later. With Windows, there’s too much black magic behind the scenes to know half of what’s going on anyway!
Leave a comment