---
title: EXC_RESOURCE
framework: xcode
role: article
role_heading: Article
path: xcode/exc_resource
---

# EXC_RESOURCE

The operating system stopped the process because the process exceeded a limit on resource consumption, like CPU time or memory.

## Overview

Overview If the Exception Note field contains NON-FATAL CONDITION, this means the operating system generated a crash report without actually terminating the process. The Exception Message field describes the amount of resources consumed over a specific time interval. The crash report lists the specific resource in the Exception Subtype field: Excessive wake-ups can come from calling thread-to-thread communication APIs more often than expected; these APIs include perform(_:on:with:waitUntilDone:), async(execute:), and dispatch_async. Because the communication that triggers this exception is happening so frequently, crash reports usually include multiple background threads with very similar backtraces that indicate the origin of the thread communication. See Modernizing Grand Central Dispatch Usage for how to manage concurrent workloads more efficiently.

## See Also

### Exceptions

- [EXC_ARITHMETIC](xcode/exc_arithmetic.md)
- [EXC_BAD_ACCESS](xcode/exc_bad_access.md)
- [EXC_BAD_ACCESS (SIGBUS)](xcode/sigbus.md)
- [EXC_BAD_ACCESS (SIGSEGV)](xcode/sigsegv.md)
- [EXC_BREAKPOINT (SIGTRAP) and EXC_BAD_INSTRUCTION (SIGILL)](xcode/sigtrap_sigill.md)
- [EXC_CRASH](xcode/exc_crash.md)
- [EXC_CRASH (SIGABRT)](xcode/sigabrt.md)
- [EXC_CRASH (SIGKILL)](xcode/sigkill.md)
- [EXC_CRASH (SIGQUIT)](xcode/sigquit.md)
- [EXC_CRASH (SIGSYS)](xcode/sigsys.md)
- [EXC_CRASH (SIGTERM)](xcode/sigterm.md)
- [EXC_GUARD](xcode/exc_guard.md)
