3

Sometimes I encounter Out of memory errors and Windows Event Viewer shows this (translated):

Resource-Exhaustion-Detector: A lack of virtual memory in the system was successfully detected. The largest amount of virtual memory was allocated to the following programs: 10582573056 bytes were allocated for myapp.exe (12412), 916819968 bytes were allocated for firefox.exe (18240) and 794206208 bytes were allocated for firefox.exe (13724).

myapp.exe allocated 10 GB, Firefox.exe-s allocated totally ~4.5 GB, some other stuff 10x150MB (as I check later in Task Manager), so total commit should be 16 GB but since I receive these lack of memory warning I assume that the real commit is about 34 GB (32 GB of RAM + 2 GB pagefile).

What could be that hidden thing with big commit that is neither shown in Task Manager processes nor reported by Resource-Exhaustion-Detector?

Is cached memory shown in Task Manager counted towards commited? If counted then why isn't it freed when another app tries to allocate for its needs (as I understand cached memory just fills not used RAM and should be immediately freed when that memory is required)?

Here is a screenshot of different time when Task Manager shows 19.3 GB commited but if I sum everything in allocated column in Details tab it's ~14.3 GB, not 19.3.

Update

This is not a duplicate of Resource-Exhaustion-Detector: out of virtual memory, but plenty of RAM available

In that previous question I asked why I receive out of memory when I have free RAM, now I know the answer - because I'm out of commited memory. Now I'm asking why I'm running of commited memory while no app actually commits that much. They are different.

None of these either answer my question because they are about having physical memory free but receiving Out of memory errors, but I'm asking about reasons why I have no free virtual memory:

Vlad
  • 202

0 Answers0