1

My program's performance is sometimes being cut in half due to Windows 7 embedding a 'fault tolerant heap'. There's not much info out there about the FTH but this is what I've been able to ascertain.

  • The FTH usually gets added due to heap errors. I cannot find a way to be notified which errors are causing it to enable.

  • The FTH will blacklist applications by filename, so even if you fix the errors it will still embed in your application, and maybe eventually go away (so yes, not even trial and error can tell you which error is causing it to embed. Random flailing seems to be the only answer). How these decisions are made are opaque. I renamed my app and the FTH went away, and performance was restored back to normal, so it must be tracking the filename somehow.

  • There is a way to turn off the FTH and prevent it from embedding on my PC, but there's no guarantee it won't embed on a user's PC cutting their performance in half.

  • There is almost no documentation about this feature. The best I can find is an hour long video of an engineer discussing it here: http://channel9.msdn.com/shows/Going+Deep/Silviu-Calinoiu-Inside-Windows-7-Fault-Tolerant-Heap/

Does anyone know more details on this feature and how to banish it from my application?

John K
  • 11
  • 2
  • 1
    http://stackoverflow.com/questions/5020418/how-do-i-turn-off-the-fault-tolerant-heap – sean e May 10 '11 at 19:46
  • http://stackoverflow.com/questions/1041550/what-is-windows-7s-fault-tolerant-heap – sean e May 10 '11 at 19:47
  • http://channel9.msdn.com/Events/PDC/PDC10?sort=sequential&direction=desc&term=&s=Mark%2BRussinovich – ZippyV May 10 '11 at 21:11
  • Looks like I can clear the blacklist and disable it. I think it was being added to my app because theres been a crash on exit that I havent got around to fixing, it crashed enough times to awaken the FTH. – John K May 12 '11 at 21:14

0 Answers0