I've just finished some testing here.
Setup:
Win7 Home Premium x64 OEM
Laptop with 320GB internal drive (C
3GB physical memory (two SODIMM)
External USB drive 110GB partition 3.2 million files (my testing partition)
I ran chkdsk by doing the old Properties:Tools tab thing and
selecting disk checking from there.
Using Resource Monitor, memory usage by chkdsk (inside Explorer) was
up around 2.7 or 2.8GB. It grew steadily until it ran out of
memory to grab (like it stopped at the remaining physical limit).
Page faults were close to zero, job finished about as quickly as
you might expect.
For this test, all other activity on the machine was quiet. Just
me watching Resource Monitor while the chkdsk run progressed.
*******
Test case #2
For this test, I simulate a user trying to work while chkdsk is
running. I open GIMP and create a 40000x3000 pixel blank image
using New from the menu. And start working within it. The image
is supposed to be around 1GB or so. Memory resident, is usually
less than that.
Well, now the gloves come off. Chkdsk doesn't relinquish any
memory (the "commit" stays at the top value, resident memory
drops, and fills again), and instead, it is making fresh requests
as the chkdsk run proceeds. I can't really work in GIMP, because
there are as many page faults against GIMP image editor, as
against chkdsk.
The long and the short of it, in this case, "nobody wins".
I can't actually work productively in the image editor, and
chkdsk isn't running quite as fast as before.
For most of the second test case, the disk light on the laptop
was on solid. That's due to the paging going on (thrashing between
the two programs). I can imagine running multiple copies of
chkdsk, to check separate physical drives, would end up with
similar behavior.
So the only test case where I got satisfactory results, was
running one copy of CHKDSK and walking away from the computer.
Since I was checking the external drive, it wasn't like I was
waiting on it to complete (C: was not involved).
I could have been editing an image from the C: drive, using GIMP,
but performance was so slow (lots of "not responding"), the machine
really couldn't be used for anything else.
*******
Now, if I do these things in WinXP, the machine behaves normally,
and I can actually multitask. Since the disk with the 3.2 million
files was prepped on the WinXP machine, I did actually try it out
over there as well. I could work normally, while the chkdsk was
working on the 3.2 million files.
As for where the 3.2 million files came from, I wrote a small
program to write out a set of files (took about five hours runtime).
I wanted lots of files, so the chkdsk run would last long enough
to observe memory usage.
*******
The Windows 7 design is a step backwards from the WinXP version of chkdsk.
Paul