0

On my computer running Windows (10) I have memory usage troubles. Not wanting Windows do useless IO with high RAM amount available: I disabled the swap file (no paging file on any disk).

When doing stuff with apps, memory usage increases. At some point some apps crash with an OutOfMemory exception, or just becomes unstable and requires manual stop.

When it occurs, here is what I see:

  • RAM installed is 64 GiB
    • 2x DDR4 2667 16 GiB modules
    • 2x DDR4 3200 16 GiB modules (added later)
  • task manager indicates
    • an almost full memory usage in the graph (around 53/64 GiB)
    • around 36 GiB "In use" (0 MiB compressed)
    • around 11 GiB "Available"
    • around 24 GiB "Cached"
    • around 61 GiB "Commited"
    • around 2.2 GiB "paged pool"
    • around 2.1 GiB "non-paged pool"
  • no significant disk activity
  • SuperFetch/SysMain is enabled
  • Windows 10 Pro 22H2

Biggest apps in memory are often: Firefox'es, Jetbrains Rider, Teams, VS Code, some DBMS.

How can it be my apps crash even when there is so much memory available?

=> this answer indicates lack of space to allow more commit from apps

Are there some OS tweaks to reduce the need for commit?
Or is it specific to each app?

SandRock
  • 572

1 Answers1

3

You must enable the page file. Otherwise, you are wasting physical RAM for memory reservations programs made but do not use. You are not running out of memory, you are running out of commit limit.

From my answer on a related question:

[…] The page file is indispensable to make efficient use of physical memory. That’s because most programs reserve more memory than they will actually use (this is called “commit charge”). Windows does not allow “overcommitting” (making promises it may not be able to keep), so all reservations must be backed by physical memory or the page file.

In the screenshot, you can see that while only ~9 GiB of memory is used, 12 GiB are reserved in total.

Allow Windows to manage the page file size or, if you truly want to, invest some time to find the amount of memory your programs reserve and set that as the fixed size.

user219095
  • 65,551