| Previous | Next |
| STATUS_PAGE_FAULT_TRANSITION | STATUS_PAGE_FAULT_COPY_ON_WRITE |
STATUS_PAGE_FAULT_DEMAND_ZERO
First access created the contents of a demand-zero page
Committed private virtual memory does not need a physical page at the moment it is committed. On first access, the Memory Manager can obtain a zeroed page, establish the mapping, and continue the instruction. This demand-zero path is expected for freshly committed memory and preserves the Windows guarantee that newly allocated pages are initialized to zero.
A high rate can reflect normal allocation and first-touch behavior rather than paging-file I/O. Diagnose it together with allocation size, process commit growth, and working-set changes. Pre-touching every allocation merely moves the cost earlier and can enlarge the working set, so it should be used only when latency requirements justify it.
What to inspect
- Record the allocating call stack and whether the region is private, committed, and newly touched.
- Distinguish demand-zero faults from reads of page-file-backed or mapped-file data.
- Check whether large bursts follow reserve/commit operations, process startup, or allocator arena growth.
References
- Microsoft: VirtualAlloc
- Microsoft: Reserving and committing memory
- ReactOS source: NT page-fault resolution
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.