View Single Post
  #15  
Old April 27th 20, 07:09 PM posted to alt.comp.os.windows-10,comp.sys.ibm.pc.hardware.storage
Paul[_28_]
external usenet poster
 
Posts: 1,467
Default Why is this folder so slow?

Yousuf Khan wrote:
On 4/27/2020 3:57 AM, Paul wrote:
I seem to remember at some time in the past, you offered
advice on putting an exception for an AV program,
so it does not scan that particular directory
(something in Thunderbird).

If your CPU cores are railed, I'd be tracing down the
PID of the offender.

One way to do it on a Pro SKU of OS, is

tasklist /svc # should not work on Home


Not even necessary, I can tell you right now which process is
responsible, it's the Macrium Reflect binary. Also the System process
which I assume the Reflect binary also makes heavy use of during this time.


OK, show me a chunk of nfi.exe output, just
for files in the magical folder. Just enough
to capture the essence of what's going on.

nfi.exe is in here (13,529,558 bytes)

https://web.archive.org/web/20070104...s/oem3sr2s.zip

Run

nfi.exe C: c_nfi.txt

This is what a file looks like, followed by a directory.
A directory has a $I30 entry in it.

File 5468

\YOUTUBE_CAP\out_linux_ffmpeg2.avi
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$DATA (nonresident)
logical sectors 2576342736-2577800527 (0x998fded0-0x99a61d4f)

File 5463

\YOUTUBE_CAP
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$INDEX_ROOT $I30 (resident)
$INDEX_ALLOCATION $I30 (nonresident)
logical sectors 2577800616-2577800623 (0x99a61da8-0x99a61daf)
$BITMAP $I30 (resident)

What we're looking for here, is something
like an extended attribute.

You might also use fsutil, and verify the cluster
size (4KB default). Windows 10 stopped tolerating
non-default cluster sizes on C: about three OSes ago,
so it pretty well has to be 4KB now on cluster size.

One reason I want some info about your 800,000 file folder,
is I want to see if there are no logical sectors
(small files, like 1KB files, fit within $MFT and don't
use clusters for the data storage). Or I was io see if
the clusters are fragmented.

One other thing Windows 10 does now, is they added a small
write cache (per handle). The write cache has "ruined" the
notion of fragmentation, in the sense that no fragment
can be 4KB. The buffer is 64KB. If a file fragments today in
Windows 10, the chunk size should be 64KB.

I use the Passmark fragment generator, to create fragmented
files for test. I noticed that if the Passmark fragment
generator is run on modern Windows 10, the fragments
don't seem to be any smaller than 64KB. If I run under an
older OS, you can see on the screen (JKDefrag) that the
fragments are finer. I do these tests on a RAMDisk so
no harm comes to any physical storage devices.

You might ask "I have a 4KB file to store, what happens
with the 64KB buffer in that case". I don't know. Obviously it
cannot break, or we'd have heard about it by now. The buffer must
flush when the handle closes.

I only mention this new feature, in case you examine your
800,000 files and notice there's no fragmentation at all.

Paul