Snapshots refused with "not enough free system memory (0 MB above the reserve)" whenever free RAM is below the memory governor reserve #1477

Open
opened 2026-11-06 04:35:56 +00:00 by TheSlowly · 0 comments
Collaborator

Bug

Snapshots are refused with "No 2560 x 1417 snapshot was taken: a render that large does not fit: not enough free system memory (0 MB above the reserve)" whenever the system has less free RAM than the memory governor's reserve, even though the snapshot needs only tens of MB.

Evidence (owner's log, 2026-11-06 04:34Z, 32 GB RAM)

  • memgov tight avail 3444/31904 MB reserve 3828 MB commit-avail 8495/84778 MB; the viewer's own RSS was ~2.6 GB.
  • vk_live_snapshot : live snapshot 2560x1417: not enough free system memory (41 MB needed, 0 MB above the reserve); using the offscreen path
  • snapshotFit : snapshot 2560x1417 refused: not enough free system memory (0 MB above the reserve)

Cause

Both snapshot paths (vk_live_snapshot in llviewerwindow.cpp and snapshotFit in llappviewer.cpp) size the snapshot against avail - reserve. The reserve (auto: max(1.5 GB, 12% of RAM)) is the governor's steady-state cushion for other programs; below it, every snapshot of any size is refused. The governor itself never goes to zero (work is always admitted, just slower).

Expected

A short-lived, user-requested snapshot is taken whenever it actually fits in free memory. Below the reserve it may use a bounded share of what is free (and, on Windows, of the commit still available) instead of nothing.

## Bug Snapshots are refused with "No 2560 x 1417 snapshot was taken: a render that large does not fit: not enough free system memory (0 MB above the reserve)" whenever the system has less free RAM than the memory governor's reserve, even though the snapshot needs only tens of MB. ## Evidence (owner's log, 2026-11-06 04:34Z, 32 GB RAM) - `memgov tight avail 3444/31904 MB reserve 3828 MB commit-avail 8495/84778 MB`; the viewer's own RSS was ~2.6 GB. - `vk_live_snapshot : live snapshot 2560x1417: not enough free system memory (41 MB needed, 0 MB above the reserve); using the offscreen path` - `snapshotFit : snapshot 2560x1417 refused: not enough free system memory (0 MB above the reserve)` ## Cause Both snapshot paths (`vk_live_snapshot` in llviewerwindow.cpp and `snapshotFit` in llappviewer.cpp) size the snapshot against `avail - reserve`. The reserve (auto: max(1.5 GB, 12% of RAM)) is the governor's steady-state cushion for other programs; below it, every snapshot of any size is refused. The governor itself never goes to zero (work is always admitted, just slower). ## Expected A short-lived, user-requested snapshot is taken whenever it actually fits in free memory. Below the reserve it may use a bounded share of what is free (and, on Windows, of the commit still available) instead of nothing.
TheSlowly added this to the Slipstream project 2026-11-06 04:35:57 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#1477
No description provided.