How does CDM calculate memory usage on Windows?
What is the formula for calculating Memory on Windows systems? (QOS_MEMORY_PERC_USAGE)
The value of QOS_MEMORY_PERC_USAGE correspond to the UsedPct that returns from the memory_status callback
1. right click on the CDM probe and access the probe utility
2. Execute the memory_status callback This will return a list of values.
3. The UsedPct is the value stored for QOS_MEMORY_PERC_USAGE
Windows Resource Monitor:
One thing to consider here is that the % Used Physical Memory on the Processes section just applies to Processes.
Although this is most of the memory in use it will not be all of the used memory.
Windows Performance Monitor:
The System Summary there should note the "% Committed Bytes" In Use and that should tie up quite closely to UsedPct on the cdm callback and QOS_MEM_PERC_USAGE
Task Manager's Performance tab
A rough comparison could also be made using the Task Manager's Performance tab.
With Memory selected, the Committed figures should roughly equate to the QOS_MEM_PERC_USAGE
Example:
System currently shows 8.9GB committed out of 10.1 GB
(8.9/10.1) * 100 = 88% which is what UsedPct and QOS_MEM_PERC_USAGE are reporting.
Note: that figure from Task Manager is in GB and only to 1 decimal place so from time to time there maybe a slight difference between the UsedPct and what you would manually calculate through Task Manager.
Swap memory is obtained from Windows Performance Monitor.
Go 'perform' > select performance monitor > click green + > Paging File > % Usage > _Total
Related KB's:
Article title: How does CDM calculate memory usage on Linux
Article title: How does CDM calculate Memory Usage in Solaris?
Article title: How is Memory information calculated by cdm probe for HP-UX based systems
Article title: How Is "Swap Usage" activity calculated by the cdm probe in Solaris
Article title: How Is "memory paging" activity calculated by the cdm probe?
Article Title: Monitoring Total Processor / CPU utilization on Windows with UIM