Как рассчитать, сколько памяти использует процесс?

325
Mr_Aj

Я хотел бы знать, сколько накопительной памяти использует процесс?

Я анализирую производительность моей системы во время операции большого копирования. В этом я нацеливаюсь на несколько процессов.

Я хочу подсчитать, сколько памяти они используют в течение этого времени, и, если какой-то процесс использует значительную память, я хотел в нее покопаться (любая утечка памяти или фрагмент кода, вызывающий перегрузку памяти).

Я попытался с помощью команд 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, я вижу следующие вкладки в левой панели под памятью. Использование памяти: это бесполезно, поскольку оно не содержит данных, связанных с процессом.

Жесткие сбои: сбои страниц по процессам. Время жизни фиксации виртуального выделения: выдающиеся коммиты по процессам.

  1. По умолчанию
  2. Давление памяти
  3. Физическое давление памяти
  4. Обработка частного рабочего набора

Пожалуйста, расскажите мне о том, какие вкладки / параметры следует учитывать для использования памяти. Как я могу использовать эти данные, чтобы сделать вывод об использовании памяти \ утечках памяти \ имени API, которое вызывает более высокую загрузку памяти при загрузке символов?

1
@ magicandre1981 Mr_Aj 6 лет назад 0
используйте ** wpr.exe -start ReferenceSet -filemode && timeout 3 && wpr.exe -stop C: \ HighMemoryUsage.etl **. Перетащите [Resident Graph] (https://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-154-Memory-Footprint-and-Leaks#time=10m37s) на панель анализа, чтобы увидеть использование magicandre1981 6 лет назад 0
@ magicandre1981 Извините, но эта команда выдает ошибку. «Системе не удается найти указанный файл. Код ошибки: 0x80070002». PS. Я использую Windows 7. Mr_Aj 6 лет назад 0
@ magicandre1981 Можете ли вы проверить вышеуказанную команду еще раз. Потому что вы написали «Набор ссылок» в команде, а ссылка предназначена для анализа Резидентного набора. И я думаю, что эти два совершенно разные. Mr_Aj 6 лет назад 0
ReferenceSet работает с Windows 8. Измените команду на ResidentSet. magicandre1981 6 лет назад 0
@ magicandre1981 Resident работает на Windows 7. Теперь я вижу вкладку Resident Set на левой панели под вкладкой Memory. Mr_Aj 6 лет назад 0
@ magicandre1981 Есть 4 появления для этого. 1. По умолчанию 2. Нагрузка на память 3. Нагрузка на физическую память 4. Частный рабочий набор процесса Пожалуйста, сообщите мне, какие вкладки / параметры следует учитывать при использовании памяти. Как я могу использовать эти данные, чтобы сделать вывод об использовании памяти \ утечках памяти \ имени API, которое вызывает более высокую загрузку памяти при загрузке символов? Mr_Aj 6 лет назад 0

0 ответов на вопрос

Похожие вопросы