Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Total memory consumption of the system

Is it correct to assume that the total memory consumption (virtual + physical) of a system is sum of "Memory Usage" and "VM Size" columns shown by the task manager in windows?

like image 704
Umair Ahmed Avatar asked Jun 10 '09 07:06

Umair Ahmed


People also ask

How do you find the total memory of a system?

Press Ctrl + Shift + Esc to launch Task Manager. Or, right-click the Taskbar and select Task Manager. Select the Performance tab to see current RAM usage displayed in the Memory box, and total RAM capacity listed under Physical Memory.

How is memory consumption measured?

Check Computer Memory Usage EasilyTo open up Resource Monitor, press Windows Key + R and type resmon into the search box. Resource Monitor will tell you exactly how much RAM is being used, what is using it, and allow you to sort the list of apps using it by several different categories.

What is the total memory installed on the system?

Press the Windows key , type Properties, and then press Enter . In the System Properties window, the Installed memory (RAM) entry displays the total amount of RAM installed in the computer.

Is total memory the same as RAM?

PC Help Center Answer: Physical memory is how much RAM you have installed in your computer. For example, if you have two 512 MB memory chips in your machine, you have a total of 1 GB of physical memory. This memory is what your computer uses to load the operating system as well as individual programs and files.


2 Answers

Read these posts by Mark Russinovich:

http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx

http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx

like image 139
Stop Putin Stop War Avatar answered Dec 28 '22 09:12

Stop Putin Stop War


In modern Windows there really is no single truth about "Total Memory Consumption". It depends of course on the definition, but the real question is what you want to do with the answer.

Some processes like SQL-Server tend to use every byte of memory they can get their hands on, if you let them. The .NET CLR garbage collector monitors memory use and acts accordingly, trying to free more memory when it gets scarce.

So for instance you can have a system with 8 GB of physical memory, of which 90% is "used". How much of that memory is actually needed, is very hard to say. The same system may run on a 4 GB machine with no noticeable performance loss or any other issues.

If you want to explore some of the complexities of memory management under Windows, download "VMMap v2.0" from the former sysinternals site. It shows very detailed memory usage per process and may aid you in your quest.

To quote from VMMaps Help: VMMap categorizes memory into one of several types:

Image The memory represents an executable file such as a .exe or .dll. The Details column shows the file's path.

Private Private memory cannot be shared with other processes, is charged against the system commit limit, and typically contains application data.

Shareable Shareable memory can be shared with other processes, is charged against the system commit limit and typically contains data shared between DLLs in different processes or inter-process communication messages. The Windows APIs refer to this type of memory as pagefile-backed sections.

Mapped File The memory represents a file on disk and the Details column shows the file's path. Mapped files typically contain application data.

Heap Heaps represent memory managed by the user-mode heap manager and, like Private memory, is charged against the system commit limit and contains application data.

Managed Heap Managed heap represents memory that's allocated and used by the .NET garbage collector.

Stack Stacks are memory used to store function parameters, local function variables and function invocation records for individual threads. Stacks are charged agains the commit limit and typically grow on demand.

System System memory is kernel-mode physical memory associated with the process. The vast majority of System memory consists of the process page tables.

Free Free memory regions are spaces in the process address space that are not allocated.

Now you just need to define what types of memory you consider as "used", add these up for all processes, remove multiple duplicates and look at the number... There is a reason why in task manager or other tools, there is no single number labeled "Total Memory Consumption" :-)

like image 33
TToni Avatar answered Dec 28 '22 09:12

TToni