You have 57 Tabs open in FF hence the memory use for that app
Understanding how Windows 10 task manager reports memory usage
Hello,
This is an extension to the following locked thread from a couple of years ago, which remained unresolved and the answer there was rather unsatisfactory IMO.
Task Manager shows a huge amount of memory usage, though the Users tab only shows a fraction actually in use.
The Performance tab always shows much higher used memory than the User tab, often double or more. From what I can tell the User tab value seems to be just the sum of all the application memory values in the Processes tab. The performance tab total used value remains a mystery, but that seems to be the actual used memory.
And it's not some memory leak as the previous thread suggested because I've seen this discrepancy on pretty much every Win 10 computer I've used, not just my personal computers.
I found something curious in the Resource Monitor, which seems to show a lot more detail than the task manager. It reports 4 different memory types for a given executable: Commit, Working Set, Shareable, and Private.
I have no idea what each one means, but from a quick calculation it seems like the Commit memory is the largest one when you add it up and it seems to be much closer to the total memory shown in the Performance tab of the task manager, and it's much higher than the one in the Processes tab.
So I would just refer to the Resource Manager to see how much memory an application is really using, because the task manager values under Processes or User tabs are not very useful. I think those correspond to the "Working Set" values in Resource Manager.
If anyone has any insights, please do share. All I want is an easy way to tell how much memory each of my applications are really using.
Resource Manager helps, but the downside is that when the application has dozens of individual processes like FIrefox, and requires adding them up manually, because it doesn't seem able to 'lump' them up and show the total for that application like the task manager can.
Thanks!
Windows for home | Windows 10 | Performance and system failures
Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.
4 answers
Sort by: Most helpful
-
Anonymous
2022-06-19T06:41:36+00:00 -
Anonymous
2022-06-19T19:10:40+00:00 What does that have to do with the topic? I know how many tabs I have open at any given time. That's irrelevant to the issue.
-
Anonymous
2022-07-18T01:58:49+00:00 You have actually accumulated the commit size, which is the total amount of pageable virtual address space for which no backing store is assigned other than the pagefile. On systems with a pagefile, it may be thought of as the maximum potential pagefile usage. On systems with no pagefile, it is still counted, but all such virtual address space must remain in physical memory (RAM) at all times. Memory is allocated in blocks and with todays optimizing routines, most OSes try to allocate in blocks close to each other, to reduce memory fragmentation. Im not entirely sure if the commit size also accounts for things like assemblies on memory which are being shared
From the description: Commit is the total RESERVED VIRTUAL address space size for a process. So, lets say your process has already X blocks assigned and still has memory avail, but the memory it needs now is larger than the the continous blockarea it has already allocated, but the OS reporting still memory available: then it will request more blocks, instead of fragmenting data within the already allocated blocks. Also, freeing of blocks doesnt happen right after something is not used anymore. The so-called Garbage Collection happens when the memory management of the process (in .NET it's the CLR Garbage Collector, in C/C++ (unmamaged) thats entirely up to the developer, as unmanaged means no integrated memory management. Also keep in mind, reserved includes also memory addresses not being used. Even if your process does nothing with the 50 MB it reserves, its allocated and thereby on the commit set. The VIRTUAL SPACE is the physically available memory (available to the OS) + the size of the pagefile(s).
Things like dynamic memory compression (done by sysmain process) make things even more complicated.
The working set is more intresting. This is purely the physical memory.
The shareables are bytes that can be shared between processes.
The private bytes are the physical memory strictly usable by the process that has it reserved. Thats effective RAM usage, RAM only being available to this process and nobody else, not the parent process, not child processes, not the OS - available to nobody except the process its allocated to.
Now the key thing to your question:
The Task Manager shows you percentages for your physically usable memory. So, in order to calculate this, it cannot use the virtual space, commit falls away, because if we add up pagefile and physical memory we would exceed the physical memory and memory usage percentage in case of fully used physical memory would exceed 100%.TaskManager (at least in my WIn11 build) displays: Private Bytes for a process - or the accumulated private byte values for a process with mapped child processes.
As you can see on your firefoxes: 150MB -200MB Commit size, but at same time 50MB Shareable. Means like 1/3 to 1/4 of these tabs virtual memory footprint is actually shared between them.
The short answer: What the task manager displays is pretty good to know what your apps are using unless there is a hidden memory leak. But a hidden memory leak won't be shown on any of these tools. It would be like 90% memory used but no process showing with much memory usage. It's like the memory is lost somewhere.
-
Anonymous
2022-07-20T13:59:12+00:00 Reto Kummer, I appreciate the insights, but all that is a little over my head and I don't think it helps me in practice. To put it simply, I just want to see an accurate breakdown of the RAM usage reported in the Performance tab of the task manager.
For example, here I see 24.4/31.9 GB total memory usage (whatever types of memory that may consist of is not strictly important to me).
In the Processes tab, I see that Firefox supposedly uses about 5.7 GB
After closing Firefox, I should expect my total memory usage to drop to about 24.4 - 5.7 = 18.7 GB
Instead, my used memory drops to 9 GB !
So, closing FIrefox released an extra 9.7 GB on top of the 5.7 GB that was shown in the Process tab. This means that the Process tab reports memory very differently from the memory usage in the Performance tab. The process memory value is off by 9.7 GB in that example, which is insane. It sucks that the term 'memory' means completely different things in two different tabs in the task manager, and that's really annoying. I just need a way to know how much memory Firefox (or any other app) is REALLY using relative to the total memory usage in the Performance tab, because the Process memory value is off by a lot.
And to be clear, I observe this kind of discrepancy with other browsers too, on every Windows 10 computer that I've used. I don't remember noticing this in earlier WIndows versions, but I wasn't paying too much attention to it, so I don't know. Also, the longer I browse, the larger this discrepancy grows.
I just need a way to see an accurate breakdown of the 24.4/31.9 GB value in the above example, that's it. The processes tab obviously doesn't help. Are there other apps that may help with that?