Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf

ВУЗ: Не указан

Категория: Книга

Дисциплина: Операционные системы

Добавлен: 29.10.2018

Просмотров: 33061

Скачиваний: 742

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Process Monitor 

Глава 4  127 

под системной учетной записью, как неинтерактивной системной службы. 
Для этого нужно применить кое-какие хитрости, поскольку вы не сможете 
управлять данным экземпляром Procmon обычным способом:
•  необходимо указать файл для записи данных в командной строке с по-

мощью параметра /BackingFile. Помните, что изменить его до остановки 
программы вы не сможете, а при перезапуске Procmon под системной за-
писью без указания другого файла поддержки ранее записанная трасси-
ровка будет затерта;

•  в командной строке должны быть параметры /AcceptEula и /Quiet, что-

бы Procmon не выводил диалоговые окна, которые не удастся закрыть;

•  Procmon должен необходимо корректно останавливать. Чтобы сделать 

это, не выключая систему, нужно выполнить Procmon /Terminate тем же 
образом, что и первую команду.
Более подробно об этих параметрах рассказывается ниже, о сеансах см. в 

главе 2, а о PsExec — в главе 6.

Ниже приведен пример команды для запуска трассировки Procmon, про-

должающейся  и после выхода из системы:

PsExec -s -d Procmon.exe /AcceptEula /Quiet /BackingFile C:\Procmon.pml

Завершает трассировку следующая команда:

PsExec -s -d Procmon.exe /AcceptEula /Terminate

Параметр PsExec -d позволяет завершить PsExec, не дожидаясь заверше-

ния конечного процесса.

Экземпляр Procmon, запущенный с помощью PsExec под системной 

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

Длительная трассировка и управление 
размером журналов

Файлы трассировки Procmon могут быть очень большими, особенно трас-
сировки загрузки и прочих длительных процессов. В таких ситуациях будут 
полезны функции управления размерами журнала.

Удаление отфильтрованных событий

Обычно Procmon регистрирует всю активность системы, включая события, 
скрытые фильтрами. Это дает возможность изучать разные аспекты работы 
системы, изменяя фильтры. Тем не менее, если заранее известно, что часть 
данных длинной трассировки не потребуется, можно освободить от них 
журнал с помощью параметра Drop Filtered Events (Удаление

 отфильтро-

ванных событий) в меню Filter.

SIN_ch_04.indd   127

27.12.2011   14:16:28


background image

128  Часть 

II   

Работа с утилитами

Когда активен параметр Drop Filtered Events события, не соответству-

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

Обратите внимание на то, что фильтрация не действует при трассиров-

ке загрузки, поэтому параметр Drop Filtered Events не уменьшает размер 
журнала трассировки загрузки. Однако, фильтры и параметр Drop Filtered 
Events  
применяются во время последующей обработки журнала загрузки. 
Поэтому для удаления лишних событий при просмотре активности процес-
са System и других низкоуровневых событий не забудьте активировать пара-
метр Enable Advanced Output в меню Filter перед перезагрузкой.

Длина трассировки

Process Monitor отслеживает объем переданной ему памяти и прекращает 
захват событий, когда виртуальная память системы заканчивается. Открыв 
диалоговое окно History Depth  (Длина трассировки) (рис. 4-20) в меню 
Options, можно ограничить число хранящихся записей и оставить Process 
Monitor работать на длительное время, гарантируя захват последних собы-
тий. Число регистрируемых событий варьируется от 1 до 199 миллионов (по 
умолчанию — 199 миллионов).

Рис. 4-20.  Диалоговое окно History Depth 

Файлы для записи данных

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

Можно настраивать и просматривать информацию о файлах для запи-

си, выбрав Backing Files (Резервные файлы) в меню File — откроется диа-
логовое окно Process Monitor Backing Files, изображенное на рис. 4-21. 
Изменения настройки файлов для записи вступят в силу при записи в  но-
вый журнал или после очистки текущего.

SIN_ch_04.indd   128

27.12.2011   14:16:28


background image

Process Monitor 

Глава 4  129 

Рис. 4-21.  Диалоговое окно Process Monitor Backing Files

Имейте в виду, что при выборе записи в файл Procmon будет создавать 

дополнительные файлы, чтобы файлы с данными не стали слишком боль-
шими. Имена таких файлов генерируются на основе базового имени, к кото-
рому прибавляются возрастающие номера (рис. 4-22). Файлы с одинаковым 
базовым именем, хранящиеся в одной папке, Procmon считает одним жур-
налом.

Диалоговое окно Process Monitor Backing Files отображает также ин-

формацию по диагностике, в том числе, захваченные события и число на-
блюдаемых процессов.

Рис. 4-22.  Диалоговое окно Process Monitor Backing Files

Импорт и экспорт параметров конфигурации

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

SIN_ch_04.indd   129

27.12.2011   14:16:28


background image

130  Часть 

II   

Работа с утилитами

но импортировать в другую систему или загружать с параметром командной 
строки /LoadConfig (см. следующий раздел). Можно создать несколько яр-
лыков Procmon с различными файлами конфигурации /LoadConfig для раз-
личных задач. Фильтры также можно импортировать и экспортировать по 
отдельности (подробнее см. выше).

 Примечание  Procmon хранит все свои параметры конфигурации в разделе реестра 

HKEY CURRENT USER\Software\Sysinternals\Process Monitor. Простейший способ вос-
становить конфигурацию Procmon по умолчанию — закрыть все экземпляры Procmon, 
удалить этот раздел реестра и снова запустить Procmon. При просмотре журналов Proc-
mon из систем x86 в 64-разрядных версиях Windows 32-разрядная версия Procmon со-
храняет свои параметры конфигурации в HKCU\Software\S

y

sinternals\ProcessMonitor32.

Автоматизация Procmon: параметры 
командной строки

Procmon поддерживает параметры командной строки, удобные при вызове 
программы из сценариев. Допустим, начинающему пользователю нужно за-
пустить Procmon с определенной конфигурацией, чтобы подготовить для 
вас трассировку. Чтоб не «разжевывать» пользователю настройку и запуск 
Procmon, можно просто дать ему командный файл с нужными параметрами.

Меню Help (Справка) Procmon включает краткий обзор параметров ко-

мандной строки Procmon. Более подробно они описаны в табл. 4-4.

Табл. 4-4.  Параметры командной строки

Параметр

Описание

/OpenLog 
pm/-f//e

Открывает сохраненный ранее файл журнала (трассировку) 
Procmon. Обратите внимание: файл журнала должен экземпля-
ром Procmon, совместимым с архитектурой ЦП системы, 
в которой он был записан

/BackingFile 
pml-file

Сохраняет события в указанном файле. Размер файла ограничен 
размером свободного места на диске. Имейте в виду, что данный
параметр во время работы программы изменить нельзя (подроб-
нее см. выше)

/PagingFile

Сохраняет события в виртуальной памяти, ограниченной систем-
ным файлом подкачки. Используется для восстановления для от-
мены параметра /BackingFile

/NoConnect

Запускает Procmon, но не начинает автоматический захват дан-
ных (по умолчанию регистрация событий начинается при запуске 
программы)

/NoFilter

Сбрасывает фильтр при запуске. Все правила фильтра, кроме 
исключающих события трассировки, удаляются

/AcceptEula

Подавляет вывод окна с лицензионным соглашением (подразуме-
вает согласие с условиями лицензионного соглашения)

/LoadConfig 
config-file

Загружает сохраненный ранее файл конфигурации (подробнее 
см. ниже)

SIN_ch_04.indd   130

27.12.2011   14:16:29


background image

Process Monitor 

Глава 4  131 

Табл. 4-4.  (окончание)

Параметр

Описание

/Profiling

Активирует функцию Thread Profiling

/Minimized

Запускает Procmon в свернутом виде

/WaitForldle

Ожидает готовности другого экземпляра Procmon на том же 
рабочем столе Win32 для приема команд. Пример использования 
данного параметра см. ниже

/Terminate

Прекращает работу всех экземпляров Procmon, работающих 
на одном рабочем столе Win32, а затем выполняет выход. Этот 
параметр использует оконные сообщения для отправки команды 
конечному экземпляру Procmon (см. Раздел Главы 2 «Сеансы, 
оконные станции, рабочие столы и оконные сообщения»)

/Quiet

Не подтверждает установки фильтров во время запуска. По умол-
чанию, если правила фильтров были настроены, Procmon отобра-
жает диалоговое окно Filter позволяя изменять их перед записью 
данных

/Run32

Запускает 32-разрядную версию для загрузки 32-разрядных фай-
лов журналов (только в x64)

/HookRegistry

Только в 32-разрядной версии Windows Vista и выше позволяет 
Procmon использовать перехват системных вызовов вместо 
обратного вызова для мониторинга активности реестра, что дает 
возможность видеть виртуальные операции реестра Microsoft 
Application Virtualization (App-V, ранее Softgrid). Используется 
при первом запуске Process Monitor в сеансе и только для устра-
нения неполадок в сериализованных приложениях App-V

/SaveAspaf/,

При использовании параметра /OpenLog экспортирует записан-
ный журнал в файл формата XML, CSV, или PML (определяется 
расширением заданного файла,.xml,.csv или .pml)

/SaveAsl part

При использовании параметра /OpenLog экспортирует трасси-
ровку в XML вместе со  стеком (см. выше)

/SaveAs2 part

При использовании параметра /OpenLog экспортирует трасси-
ровку в XML вместе со стеком и символами (см. выше)

Ниже приведены примеры использования данных параметров:

•  Открытие 32-разрядного файла журнала в 64-разрядной версии Win-

dows:

Procmon.exe /Run32 /OpenLog c:\pmlLogs\logfile.pml

•  Вот более сложный пример сценария, регистрирующего операции записи 

программой Notepad.exe в файле C:\notepad.pml:

set PMExe=»C:\Program Files\Sysinternals\Procmon.exe» set PMHide= /AcceptEula /Quiet /
Minimized set PMCfg= /LoadConfig C:\TEMP\PmCfg.pmc set PMFile= /BackingFile C:\notepad.pml
start «» %PMExe% %PMHide% %PMCfg% %PMFile%
%PMExe% /WaitForIdle

SIN_ch_04.indd   131

27.12.2011   14:16:29