How to diagnose reason of blocking in fltmgr.sys (HDD access slow) in Windows 7?

0

1

My Windows 7 PC is blocking quite often for a couple of seconds up to half a minute or so. I tried to find the problem with the process monitor by filtering all system calls that take over 2 seconds and find that these always have the following stacktrace segment:

0   fltmgr.sys  FltAcquirePushLockShared
1   fltmgr.sys  FltIsCallbackDataDirty
2   fltmgr.sys  fltmgr.sys

The next frame is NtCreateFile in most cases. The calls take often 2-10 seconds, but sometimes up to 50 seconds on a nearly idle system. The HDD (actually, a solid state disc) does not seem to be the problem - HD Tune shows no problems in the benchmark and the error scan, and Process Explorer also gives no hint of unusual CPU or IO activity. And I am pretty certain it is not a virus or something. :-)

How can I find out the actual problem? Are there any helpful tools?

Hans-Peter Störr

Posted 2012-11-26T14:21:25.997

Reputation: 1 501

Answers

0

Use xperf from the WPT (part of the Windows 8 SDK) to trace disk IO:

http://blogs.msdn.com/b/ntdebugging/archive/2009/08/17/xperf-to-investigate-slow-i-o-issues.aspx

Run the script, minimize the CMD Window and when you have the issue again, go back to the cmd, wait 15-20s, press a key to stop logging. Open it with xperfview and look in the Disk IO graph which processes causes the high disk IO.

magicandre1981

Posted 2012-11-26T14:21:25.997

Reputation: 86 560

The annoying thing is: there is no high IO or CPU activity. I checked that with process explorer. (I extended the question a little to make that clear.) So that probably would not help, would it? – Hans-Peter Störr – 2012-11-26T20:21:18.387

try it out and look if it helps or not. – magicandre1981 – 2012-11-26T20:59:10.140