What does NTSTATUS 0xC0000017 (STATUS_NO_MEMORY) mean?

 
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


Looking for a different code? Search another status or error code.