Full-Page Heap
Full-page heap should be enabled for individual processes, or
under limited parameters for large processes, because of its high memory
requirements. It cannot be enabled system-wide, because it is difficult to
evaluate the required page file size. Using a page file that is too small with
system-wide full-page heap renders the system unbootable.
The
advantage of full-page heap is that it causes a process to access violate (AV)
exactly at the point of failure. This makes the failure easy to debug. In order
to be able to pinpoint failures, first use normal page heap to determine the
range where a process is failing, and then use full-page heap on individual
large-scale processes for that restricted class of allocations (that is, a
specific size range or a specific library).
Normal Page Heap
Normal page heap can be used for the testing of large-scale
processes without the high memory consumption that full-page heap requires.
However, normal page heap delays detection until blocks are freed, thus making
failures more difficult to debug.
In general, use normal page heap
for initial large-scale processes testing. Then, if problems are detected,
enable full-page heap for a restricted class of allocations in those
processes.
Normal page heap can be safely enabled system-wide for all
processes. This is very useful on test benches that perform general system
validation, rather than component focused testing. Normal page heap can also be
enabled for a single process.
Interested Link:
http://support.microsoft.com/kb/264471
http://support.microsoft.com/kb/286470