winsiderss / systeminformer

A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solutions, Inc. @ http://www.windows-internals.com
https://systeminformer.sourceforge.io
MIT License
10.95k stars 1.4k forks source link

Summarize memory blocks and total consumption #1841

Open PizzaProgram opened 1 year ago

PizzaProgram commented 1 year ago

Description of the feature, modification, idea or suggestion

I'm currently trying to track a memory leak in my app, and System Informer is a great help to do that. Except that I have to calculate 1000+ lines of memory block consumption one by one, when I select them. It would be great to:

Summarize the selected lines at "Memory" page and show at the bottom.

kép

Even more important would be, to

Show total memory consumption at Status page

kép Because private memory allocation alone is not enough to measure, if the app is reaching a total of 2GB and crashes.

Maybe consider to add a checkbox Graph to the "Performance" page too, to:

Optional:

Proposed implementation details (optional)

No response

PizzaProgram commented 1 year ago

It would be great, if the "Total bytes" memory consumption would be calculated the same way as VMMap does from Sysinternals.

dmex commented 1 year ago

the "Total bytes" memory consumption

"Total bytes" are under the I/O category for disk/network and unrelated to memory usage?

PizzaProgram commented 1 year ago

"Total bytes" are under the I/O category for disk/network and unrelated to memory usage?

Sorry, but I don't understand this question. I'm talking only about memory consumption. VMMap is a memory-usage monitoring app too. I've never mentioned anything about I/O nor disk/network.

I've added this line:

It would be great, if the "Total bytes" memory consumption would be calculated the same way as VMMap does from Sysinternals.

only for the reason to my original request, because maybe "simply summarizing private bytes + virtual bytes" is not the correct way to calculate "total memory consumption" ...

dmex commented 1 year ago

It would be great, if the "Total bytes" memory consumption would be calculated the same way as VMMap

"Total bytes" is the name of disk/network statistics 🤷‍♂️

image

"Total bytes" memory consumption would be calculated the same way as VMMap does from Sysinternals.

The values down the left column?

image

or the values across the top row?

image

maybe "simply summarizing private bytes + virtual bytes" is not the correct way to calculate "total memory consumption"

The total would be Private bytes + Private WS + Shareable WS + Shared WS?

image

image

VMMap and System Informer are querying the system at different intervals and the program or the system changed a small number of pages between those intervals but otherwise the totals the same?

PizzaProgram commented 1 year ago

"Total bytes" is the name of disk/network statistics 🤷‍♂️

Total size memory = Total bytes memory It does not really matter, how we call it. It can be the very same "naming", the only thing that matters, where is it listed. _(Whether under "I/O" or under "Memory") The different size/byte naming is currently confusing.

IMHO to be consistent everything should be listed like this:_

So the unit could be separated by a sign. Also "Private [bytes]" is ok. Than we wouldn't need to thing about if "byte" or "size" is better.

PizzaProgram commented 1 year ago

The values down the left column?

YES, but I don't think it would be necessary to list all those values. Also maybe it would consume too much CPU to collect those separately. (Sadly I know very little about memory consumption procedures to know how they are counted, which data can be easily obtained from OS, etc...) I can reflect only as "end user" to the fact that: "Total memory consumption" is missing from the list.

The total would be Private bytes + Private WS + Shareable WS + Shared WS?

I'm not sure. Can we ask the programmers of VMMap? If I count together those columns, they do not match. (For example the "Shareable" blue line: 12700+2216 != 24884)

kép

PizzaProgram commented 1 year ago

Answer v2.0:

The total would be Private bytes + Private WS + Shareable WS + Shared WS?

Sorry, If you have ment by that the System Informer's total, than than the answer is: No If I summarize 109+67+25+11 = 212MB .. even if I would add Working set +92 = 304MB, is still much smaller than 349MB real total consumption calculated by VMMap.

So something is missing... But I don't know what.

kép

jxy-s commented 1 year ago

VMMap Size column includes blocks of reserved but uncommitted memory. That isn't displayed in the Statistics tab in System Informer. But if you can see reserved memory in the Memory tab:

image

image