如何计算一个进程使用了​​多少内存?

如何计算一个进程使用了​​多少内存?

我想知道一个进程使用了​​多少累计内存?

我正在分析我的系统在大型复制操作期间的性能。其中,我针对的是几个进程。

我想计算他们在那段时间内使用了多少内存,以及某个进程是否使用了大量内存,我想深入研究它(任何内存泄漏或导致内存开销的代码片段)。

我已尝试使用 xperf 命令。

在 xperf 命令中,我使用了以下内核标志

->MEMORY+MEMINFO+MEMINFO_WS+HARD_FAULTS+VIRT_ALLOC+VAMAP+FOOTPRINT+REFSET

& stackwalk 标志

->PageAccess+PageAccessEx+PageRelease+PageRangeAccess+PageRangeRelease+VirtualAlloc+VirtualFree+HardFault+HeapCreate+HeapFree+HeapAlloc+HeapDestroy+HeapRealloc+PagefileMappedSectionCreate+PagefileMappedSectionDelete

在生成的 etl 中,我可以在左窗格的内存下看到以下选项卡。内存利用率:这没有用,因为它不包含任何与进程相关的数据。

硬故障:进程的页面故障虚拟分配提交生命周期:进程的未完成提交池图:分页数据和非分页数据驻留集:

  1. 默认
  2. 内存压力
  3. 物理内存压力
  4. 进程私有工作集

请告诉我在内存使用方面需要考虑哪些选项卡/参数。如何使用这些数据来得出有关内存使用情况\内存泄漏\ API 名称的结论,这些名称通过加载符号导致内存利用率更高?

相关内容