<!-- llms-explorer concept facts · https://llms-explorer.com/tree/macos-no-paging-space-action-out-of-application/ · pack 2026-10-05 · ~1009 tokens -->

# macOS no_paging_space_action Out of Application Memory dialog

> `vm_compressor_low_on_space()` is true when compressed pages are nearing their limit OR compressor segments are nearing their limit.

Parent: [Mac local LLMs: Memory and wired limits](https://llms-explorer.com/tree/mac-local-llms-memory-and-wired-limits/) · 1 facets · 16 facts · page: https://llms-explorer.com/tree/macos-no-paging-space-action-out-of-application/

## Facts

- `vm_compressor_low_on_space()` is true when compressed pages are nearing their limit OR compressor segments are nearing their limit. — [source](https://raw.githubusercontent.com/apple-oss-distributions/xnu/main/osfmk/vm/vm_compressor.c)
- "Nearing limit" is 98 percent: `c_segments_nearing_limit` is 98 percent of `c_segments_limit`, and `c_segment_pages_compressed_nearing_limit` is 98 percent of `c_segment_pages_compressed_limit`. — [source](https://raw.githubusercontent.com/apple-oss-distributions/xnu/main/osfmk/vm/vm_compressor.c)
- The compressed-page limit is computed from the segment pool, but if it comes out below the number of physical RAM pages (max_mem / PAGE_SIZE) and no `vm_compression_limit` override is set (non-watch), it is raised to max_mem / PAGE_SIZE. So on a Mac the compressor can hold at least as many uncompressed pages as the machine has RAM pages before the 98 percent line. — [source](https://raw.githubusercontent.com/apple-oss-distributions/xnu/main/osfmk/vm/vm_compressor.c)
- macOS boots with `vm_compressor_mode = VM_PAGER_COMPRESSOR_WITH_SWAP`, so overflow goes to swap files and the "low on space" state is reached only after the compressor and swap pool both fill. — [source](https://raw.githubusercontent.com/apple-oss-distributions/xnu/main/osfmk/vm/vm_compressor.c)
- The same predicate feeds the vm pressure critical test, so a critical pressure level and the no-paging-space action share this trigger. — [source](https://raw.githubusercontent.com/apple-oss-distributions/xnu/main/osfmk/vm/vm_pageout.c)
- Measured: at time of writing this host (64 GB) stored 1,352,104 pages in the compressor, occupying 746,105 pages (about 2:1 ratio), far from the roughly 4.1 million-page floor of the limit. [asserted] (measured locally 2026-10-04, Apple M5 Max 64 GB, macOS 27.2, vm_stat) — source: `asserted`
- Not documented in sources read. — source: `asserted`
- Because the limit floor equals RAM page count, a local-LLM workload that fills 60 GB of anonymous memory on a 64 GB Mac hits compressor exhaustion only if its pages compress poorly (model weights and KV cache in fp16 or quantized form compress badly), not as soon as RAM is full. Poor compressibility makes the compressor occupy nearly one page per stored page, so physical memory runs out before the page-count limit. — source: `asserted`
- Which of segment limit, page-count limit or swap exhaustion fires first on Apple silicon is not established by any source read. — source: `asserted`
- None found. — source: `asserted`
- Release-build value of `compressor_pool_multiplier` and `c_segments_limit` on Apple silicon Macs; they depend on boot-time sizing not visible in the files read. — source: `asserted`
- Whether the dialog appears with swap still free (it should not, per the predicate, but no report separates the cases). — source: `asserted`
- Compressor "low on space" means 98 percent of the page-count limit or 98 percent of the segment limit. — [source](https://raw.githubusercontent.com/apple-oss-distributions/xnu/main/osfmk/vm/vm_compressor.c)
- The page-count limit is floored at the RAM page count on non-watch builds unless `vm_compression_limit` is set. — [source](https://raw.githubusercontent.com/apple-oss-distributions/xnu/main/osfmk/vm/vm_compressor.c)
- macOS uses compressor-with-swap mode, not the iOS compressor-only configuration. — [source](https://raw.githubusercontent.com/apple-oss-distributions/xnu/main/osfmk/vm/vm_compressor.c)
- Poorly compressible model memory reaches physical exhaustion before the compressor page-count limit. — source: `asserted`
