Почему монитор процесса занимает более 2 ГБ физической памяти?

1893
ddechant

Я пытаюсь выследить мошеннический процесс, который блокирует файл в определенном каталоге, который препятствует добавлению журнала. Эта блокировка происходит от одного до трех раз в неделю, поэтому нет необходимости говорить, что я хочу, чтобы ProcMon долгое время оставался без присмотра.

К сожалению, примерно раз в час ProcMon начнет постепенно увеличивать использование памяти более 2 ГБ. На этом этапе я делаю «Очистить дисплей», и используемая память возвращается к ~ 200 МБ.

У меня включено "Отбросить отфильтрованные события".
У меня есть резервный файл на моем рабочем столе (который, как ни странно, никогда не меняется с 4 МБ).
У меня есть набор фильтрации, чтобы он включал только процессы, попадающие в этот каталог.
Я также исключаю 3 процесса, которые должны обращаться к этому каталогу.

В качестве примечания, при переходе в диалоговое окно «Файлы поддержки монитора процесса» отображается следующее:

Загрузка ProcMon: 100,0% @ p-1717994043 (2,210,277,644 ...

2

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

1
William Hilsum

Сброс отфильтрованных событий только фильтрует их ... Они все еще собираются ...

... Тем не менее, 2 ГБ это очень много, на моей машине, это занимает около 5 МБ памяти. Вы уверены, что смотрите на правильную статистику?

Process Monitor собирает чертовски много информации каждую секунду, и он действительно хранит много данных в файле подкачки ... если это мало, возможно, он использует вашу память.

К сожалению, я не думаю, что с этим можно что-либо сделать, кроме увеличения размера файла подкачки.

Я почти уверен, что смотрю на правильную статистику, учитывая, насколько быстро моя свободная физическая память в диспетчере задач уменьшается, когда начинается всплеск. Я упоминал выше, что я не использую файл подкачки. Я предполагаю, что это означает, что использование файла подкачки будет минимальным. ddechant 13 лет назад 0
Я не понял эту часть ... Я никогда не делал этого, и это, скорее всего, причина ... William Hilsum 13 лет назад 0
Дело в том, что он делает это независимо от моих настроек файла поддержки. ddechant 13 лет назад 0
Насколько большой ваш файл подкачки? William Hilsum 13 лет назад 0
Сам файл в 17 ГБ. Диспетчер задач сообщает с использованием 1,6 ГБ / 24,9 ГБ ddechant 13 лет назад 0
1
Chris Kline

Чтобы уменьшить использование памяти для длинных захватов, есть способ сказать ProcMon сохранять свои захваченные данные в файл, а не в виртуальной памяти.

Просто используйте опцию «Файл -> Резервные файлы ...» и измените файлы резервных копий с «Использовать виртуальную память» на «Использовать именованный файл» и укажите файл на быстром диске с большим количеством свободного места.

Затем ProcMon запишет данные захвата в указанный файл вместо буферизации в виртуальной памяти.

Еще одним дополнением будет использование «Фильтр -> Удалить отфильтрованные события». Это странно, но на самом деле он удаляет НЕфильтрованные события из файла / файла подкачки. Rahly 6 лет назад 1
0
danwat1234

1.6ГБ / 24.9ГБ это не много.

Когда я использую Sysinternals Process Monitor для мониторинга всей активности ввода-вывода при установке большой программы, и я оставляю все фильтры отключенными, чтобы все было зафиксировано, использование ОЗУ и файла подкачки через некоторое время выходит за рамки.

Например, я наблюдаю за установкой огромной программы Visual Studio Community 2015. Это продолжается около часа, и мой файл подкачки занимает 47,8 ГБ из 55,6 ГБ размера файла подкачки. К счастью, у меня есть SSD, поэтому система все еще работоспособна, хотя и очень медленная.

Когда я перехожу на панель «Подробности» диспетчера задач (Windows 8+), для procmon64.exe он показывает рабочий набор (память), колеблющийся между 60-90 МБ. Размер коммита составляет около 375 МБ. Таким образом, диспетчер задач не показывает использование огромного файла подкачки procmon64.exe, интересно.

Через некоторое время, когда установка, наконец, заканчивалась много часов спустя (благодаря постоянному переключению файла подкачки на / с SSD, и установщик VS 2015 очень и очень неэффективен), рабочий набор procmon64.exe (память) составлял ~ 700 МБ, а параметр Commit Size был 821MB. На вкладке «Производительность» -> «Память» «Зафиксировано»; 73,4 ГБ / 89,5 ГБ, моему SSD не хватило места с файлом подкачки объемом 90 ГБ! Procmon64.exe записал чуть более 120 миллионов событий. Сохраненный файл .pml имел размер 62 ГБ, а 7z сжал до 3 ГБ.

Эта программа действительно может поглотить пространство подкачки, будьте осторожны. Несколько фото. http://imgur.com/a/kcgJk