I would like to know, how much cumulative memory a process is using?
I am analyzing my system's performance during a large copy operation. In that, I am targeting few processes.
I want to calculate how much memory they use during that time and if some process is using significant memory, I wanted to dig into it (any memory leak or piece of code which is causing memory overhead).
I have tried using xperf commands.
In xperf command, I have used following kernel flags
->MEMORY+MEMINFO+MEMINFO_WS+HARD_FAULTS+VIRT_ALLOC+VAMAP+FOOTPRINT+REFSET
& stackwalk flags
->PageAccess+PageAccessEx+PageRelease+PageRangeAccess+PageRangeRelease+VirtualAlloc+VirtualFree+HardFault+HeapCreate+HeapFree+HeapAlloc+HeapDestroy+HeapRealloc+PagefileMappedSectionCreate+PagefileMappedSectionDelete
In the resulted etl, I can see following tabs in left pane under memory. Memory utilization: this is of no use because this does not contain any process related data.
Hard faults: Page faults by process Virtual alloc commit life times: Outstanding commit by process Pool Graphs: Paged data and Non-paged data Resident Set:
- Default
- Memory Pressure
- Physical Memory Pressure
- Process Private Working Set
Please enlighten me about which tabs/parameters to consider for memory usage. How do I use this data to conclude about memory usage\memory leaks\ API name that is causing higher memory utilization by loading symbols ?