macOS no_paging_space_action Out of Application Memory dialog
Parent: Mac local LLMs: Memory and wired limits · Published reference · snapshot 2026-10-05
↓ Facts as markdownall context files
`vm_compressor_low_on_space()` is true when compressed pages are nearing their limit OR compressor segments are nearing their limit.
These notes link each claim to its source. A source may be a research report hosted on this site rather than the primary document. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
Facts
- `vm_compressor_low_on_space()` is true when compressed pages are nearing their limit OR compressor segments are nearing their limit. [source]
- "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]
- 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]
- 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]
- The same predicate feeds the vm pressure critical test, so a critical pressure level and the no-paging-space action share this trigger. [source]
- 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]
- Not documented in sources read. [source]
- 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]
- Which of segment limit, page-count limit or swap exhaustion fires first on Apple silicon is not established by any source read. [source]
- None found. [source]
- 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]
- Whether the dialog appears with swap still free (it should not, per the predicate, but no report separates the cases). [source]
- Compressor "low on space" means 98 percent of the page-count limit or 98 percent of the segment limit. [source]
- The page-count limit is floored at the RAM page count on non-watch builds unless `vm_compression_limit` is set. [source]
- macOS uses compressor-with-swap mode, not the iOS compressor-only configuration. [source]
- Poorly compressible model memory reaches physical exhaustion before the compressor page-count limit. [source]
Children
- No children recorded.