| Previous | Next |
| STATUS_MORE_PROCESSING_REQUIRED | STATUS_CONFLICTING_ADDRESSES |
STATUS_NO_MEMORY
The allocation failed even though the message may not mean physical RAM is empty
This status is intentionally broad. It can result from exhausted system commit, process quota, address-space fragmentation, nonpaged kernel resources, or failure to create required bookkeeping. Free physical RAM alone is therefore not enough to diagnose it, and adding a page file cannot fix every cause.
Record which API and allocation class failed. For user-mode private memory, compare commit charge with commit limit and inspect the target address space. For kernel paths, identify pool, MDL, page-table, or other resource pressure. A smaller retry can mask fragmentation but should not replace root-cause measurement.
What to inspect
- Capture the failed allocation size, flags, preferred address, and caller stack.
- Record system commit, process commit, free address ranges, and relevant kernel pools at failure time.
- Determine whether the failure is repeatable at a specific size or grows over time like a leak.
References
- Microsoft: Memory management functions
- Microsoft: Introduction to the page file
- Microsoft: VirtualQuery
- ReactOS source: virtual memory manager
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.