Я хотел бы знать, сколько накопительной памяти использует процесс?
Я анализирую производительность моей системы во время операции большого копирования. В этом я нацеливаюсь на несколько процессов.
Я хочу подсчитать, сколько памяти они используют в течение этого времени, и, если какой-то процесс использует значительную память, я хотел в нее покопаться (любая утечка памяти или фрагмент кода, вызывающий перегрузку памяти).
Я попытался с помощью команд xperf.
В команде xperf я использовал следующие флаги ядра
->MEMORY+MEMINFO+MEMINFO_WS+HARD_FAULTS+VIRT_ALLOC+VAMAP+FOOTPRINT+REFSET
флаги
->PageAccess+PageAccessEx+PageRelease+PageRangeAccess+PageRangeRelease+VirtualAlloc+VirtualFree+HardFault+HeapCreate+HeapFree+HeapAlloc+HeapDestroy+HeapRealloc+PagefileMappedSectionCreate+PagefileMappedSectionDelete
В приведенном etl, я вижу следующие вкладки в левой панели под памятью. Использование памяти: это бесполезно, поскольку оно не содержит данных, связанных с процессом.
Жесткие сбои: сбои страниц по процессам. Время жизни фиксации виртуального выделения: выдающиеся коммиты по процессам. Графики пула: постраничные данные и нестраничные данные. Резидентный набор:
- По умолчанию
- Давление памяти
- Физическое давление памяти
- Обработка частного рабочего набора
Пожалуйста, расскажите мне о том, какие вкладки / параметры следует учитывать для использования памяти. Как я могу использовать эти данные, чтобы сделать вывод об использовании памяти \ утечках памяти \ имени API, которое вызывает более высокую загрузку памяти при загрузке символов?