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

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

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

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

Добавлен: 29.10.2018

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

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

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

42  Часть 

II   

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

текста Windows Vista и более поздние версии измеряют фактическое время 
ЦП в режиме ядра и пользователя, использованное каждым потоком. Если 
включить отображение поля CPU Cycles Delta (Разница числа циклов ЦП)
Procexp будет отслеживать и выводить эти данные. Если в Windows Vista это 
поле содержит «< 0.01», соответствующий процесс очень слабо загружает ЦП. 
Как и в случае с Context Switch Delta, столбец CPU Cycles Delta помогает 
выявлять процессы, потребляющих избыточное количество ресурсов.

В Windows Vista утилита Procexp может подсчитывать переключе-

ния контекста, но не время ЦП при обслуживании прерываний и DPC. 
В Windows 7 возможен точный учет времени ЦП, в том затраченного на 
обработку прерываний и DPC. Таким образом, в Windows 7 Procexp ото-
бражает относительную загруженность ЦП в процентах, рассчитанную по 
фактически затраченному времени ЦП, а не по неточным данным таймера 
Windows. Для процессов, слабо загружающих ЦП, отображается значение 
«<0.01», выводить дополнительные данные для них не требуется. Procexp 
вычисляет загруженность ЦП гораздо точнее Диспетчера задачВ результа-
те оказывается (порой неожиданно), что ЦП загружен куда сильнее, чем по 
данным Диспетчера задач.

Права администратора

Procexp не всегда требует наличия прав администратора, однако значитель-
ная часть сведений о системе доступна только при работе с повышенным 
уровнем разрешений. Особенно это касается процессов, работающих вне те-
кущего сеанса пользователя. Здесь возможности Procexp определяются на-
личием привилегии Debug Programs (Отладка программ), предоставляемой 
по умолчанию группе Администраторы. Там, где политика безопасности не 
дает администраторам привилегию Debug Programs, использовать все воз-
можности Procexp не удастся. Procexp отображает максимум доступной ин-
формации, если же это невозможно, программа оставляет поля пустыми или 
выводит в них «access denied» (в доступе отказано).

 Примечание 

В Windows Vista и выше даже полных прав администратора недоста-

точно для чтения подробной информации о защищенных процессах. Audiodg.exe и 
System являются защищенными процессами, о чем Procexp сообщает на странице Security 
(Безопасность)
 диалогового окна процесса Properties.

Если вы не вошли в систему под учетной записью администратора, то для 

запуска Procexp с правами администратора в Windows XP и Server 2003 вам 
нужно запустить программу командой Run As (Запуск от имени) или же 
из другой программы (например, cmd.exe), которая уже работает под учет-
ной записью администратора. В Windows Vista и более поздних версиях для 
этой цели служит параметр Run As Administrator (Запуск от имени адми-
нистратора)
.

В Windows Vista и выше Procexp предлагает два дополнительных вари-

анта. Если Procexp работает без повышенных привилегий, то, выбрав Show 

SIN_ch_03.indd   42

27.12.2011   14:14:20


background image

Process Explorer  

Глава 3  43 

Details For All Processes (Показать подробности для всех процессов) в 
меню File (Файл), можно перезагрузить Procexp с повышением привилегий 
через UAC. Второй вариант — запуск Procexp с параметром /e, для чего так-
же требуется повышение привилегий через UAC. (Разумеется, это возмож-
но, если вы работаете в контексте, допускающем повышение привилегий; 
подробнее см. в главе 2).

Главное окно

Список процессов представляет собой таблицу, в которой каждая строка 
представляет процесс в системе, а столбцы (поля) — постоянно обновляю-
щиеся атрибуты этих процессов. Можно выбирать атрибуты для отображе-
ния, изменять размер и порядок сортировки столбцов, а также сохранять на-
стройки столбцов для дальнейшего использования. На панели инструментов 
Procexp имеются средства для выполнения общих операций и построения 
графиков, отражающих значения заданных параметров для всей системы. 
В строке состояния отображается значение параметров, выбранных пользо-
вателем. Ниже мы остановимся на этих функциях подробнее.

Список процессов

Каждая строка в списке процессов представляет процесс, исполняемый на 
локальном компьютере, хотя это не совсем корректная фраза. Как любит 
подчеркивать мой друг и соавтор Дэвид Соломон, процессы не исполняются, 
исполняться могут только потоки. Именно потоки, а не процессы являются 
теми объектами, которые Windows планирует к исполнению, и которые по-
требляют время ЦП. Процесс — это всего лишь контейнер для набора ресур-
сов, в том числе для потоков. Также не совсем корректно говорить «активные 
процессы» или «процессы с работающими потоками», поскольку большая 
часть жизненного цикла многих процессов проходит при отсутствии рабо-
тающих или запланированных для исполнения потоков. Следовательно, 
каждая строка списка процессов на самом деле отображает объект процесса 
в системе, который имеет собственное виртуальное адресное пространство, 
а также один или несколько потоков, которые, возможно, исполняют код. 
Кроме того, как будет сказано ниже, первые три строки в режиме просмо-
тра по умолчанию (режим дерева) являются исключениями. Забегая вперед, 
скажу, что буду называть их именно «работающими процессами».

Подсветка процессов
Одна из важных функций списка процессов — разноцветная подсветка, вы-
деляющая различные типы процессов. Можно самостоятельно задавать цвет 
подсветки для каждого типа процессов, по умолчанию установлены следую-
щие цвета:
•  Голубой  Процессы, работающие под той же учетной записью пользо-

вателя, что и Procexp (т. н. «свои процессы»). Учтите, что, несмотря на 
это, процессы могут находиться в разных сеансах LSA, на разных уровнях 

SIN_ch_03.indd   43

27.12.2011   14:14:20


background image

44  Часть 

II   

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

целостности (IL) и сеансах терминалов. Поэтому процессы, запущенные 
из-под одной учетной записи могут функционировать в разных контек-
стах защит. Обратите внимание и на то, что при запуске Procmon из-под 
другой учетной записи остальные приложения, запущенные в этом сеан-
се, не будут подсвечиваться как «свои».

•  Розовый  Службы (процессы-контейнеры служб Windows).
•  Фиолетовый  Упакованные образы. Procexp с помощью простых эври-

стических процедур определяет исполняемые файлы, содержащие код в 
сжатом и (или) зашифрованном виде. Зачастую вредоносное ПО исполь-
зует данную технологию, чтобы спрятаться от антивирусных программ, а 
затем распаковать свой код в памяти и выполнить его. Обратите внима-
ние на то, что иногда эвристические процедуры вызывают ложные сраба-
тывания. Чаще всего это происходит с отладочными сборками Microsoft 
Visual C++.

•  Коричневый  Задания (процессы, связанные с заданиями). Задание — 

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

•  Желтый  Процессы .NET (процессы, использующие Microsoft .NET 

Framework).

•  Темно-серый  Приостановленные процессы. В этих процессах все по-

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

деляется с учетом принятых приоритетов: приостановленные, упакованные, 
.NET, задания, службы, «свои» процессы. Например, если процесс содержит 
службу и использует .NET Framework, Procexp подсвечивает его как .NET-
процесс, так приоритет этой категории выше, чем служб. Procexp требует 
прав администратора для распознавания упакованных образов, .NET-
процессов и принадлежности к заданию, а также если процесс работает на 
более высоком IL, чем Procexp, или под другой учетной записью.

Помимо типов процессов в Procexp подсветкой выделяются новые и не-

давно завершенные процессы. По умолчанию новые процессы подсвечива-
ются зеленым в течение секунды. Когда процесс завершается, Procexp со-
храняет его в списке, на секунду подсвечивая красным. Имейте в виду: хотя 
подсвеченный красным процесс еще отображается в списке, он уже завер-
шился и больше не существует. Можно настроить длительность подсветки, 
выбрав пункт Difference Highlight Duration

(Длительность подсветки) в 

SIN_ch_03.indd   44

27.12.2011   14:14:20


background image

Process Explorer  

Глава 3  45 

меню Options (Параметры) и введя число от 0 до 9 (рис. 3-2). Учтите также, 
что фактическая длительность подсветки зависит от интервала обновления 
окна Procexp: новые и завершившиеся процессы подсвечиваются только по 
истечении интервала обновления.

Рис. 3-2.  Диалоговое окно Difference Highlight Duration

Для изменения цвета подсветки выберите команду Configure Highlighting 

(Настройка подсветки) в меню Options. Как показано на рис. 3-3, мож-
но включать и отключать подсветку, помечая соответствующие флажки. 
Флажки  New Objects (Новые объекты) и Deleted Objects (Удаленные 
объекты)  
также связаны с элементами, отображаемыми в режиме про-
смотра DLL и режиме просмотра описателей. Флажок Relocated DLLs 
(Перемещенные DLL)
, не помеченный по умолчанию, действует только в 
режиме просмотра DLL. Щелкните кнопку Change (Изменить) — откроется 
окно Color-picker (Палитра), и выберите цвета подсветки соответствующе-
го типа процессов (цвет подсветки приостановленных процессов изменить 
невозможно).

Рис. 3-3.  Диалоговое окно Configure Highlighting

Обновление окна
По умолчанию Procexp обновляет отображаемые динамические атрибуты 
ежесекундно. Динамические атрибуты — это атрибуты, которые периоди-
чески изменяются, например, затраченное время ЦП. Чтоб приостановить 
обновление, нажмите пробел. После повторного нажатия пробела автома-
тическое обновление возобновляется. Чтобы однократно обновить все ото-
бражаемые данные (динамические и статические), нажмите F5 или щелкни-
те значок Refresh (Обновить) на панели инструментов. Изменять интер-
вал автоматического обновления можно с помощью пункта Update Speed 

SIN_ch_03.indd   45

27.12.2011   14:14:20


background image

46  Часть 

II   

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

(Скорость обновления) в меню View (Вид). Длительность интервала об-
новления — от 0,5 до 10 с.

 Совет 

Изучать объекты, созданные и удаленные за произвольный промежуток вре-

мени, удобно при ручном обновлении и подсветке изменений. Приостановите обнов-
ление, выполните нужные действия в системе, а затем вернитесь в Procexp и нажми-
те F5.

Столбцы по умолчанию
Каждый столбец в списке процессов представляет тот или иной статический 
либо динамический атрибут процесса. Динамические атрибуты обновляют-
ся при каждом автоматическом обновлении. Procexp по умолчанию отобра-
жает следующие столбцы:
•  Process (Процесс)  Имя и значок исполняемого файла, если Procexp 

может идентифицировать полный путь к исполняемому файлу. Первые 
три строки списка представляют «псевдопроцессы», о которых будет ска-
зано ниже.

•  PID (ID процесса) Идентификатор 

процесса.

•  CPU (ЦП)  Время ЦП, затраченное в течение последнего интервала об-

новления (в процентах, округленное до двух десятичных знаков; подроб-
нее см. ниже в описании вкладки Process Performance; о загруженности 
ЦП см. выше в этой главе).

•  Private bytes (Закрытая память)  Число байтов памяти, выделенной и 

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

•  Working Set (Рабочий набор)  Объем физической памяти, выделенный 

процессу Диспетчером памяти.

•  Description and Company Name (Описание и название компании)  Ин-

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

сказывается ниже. 

Допускается изменять ширину столбцов, перетаскивая их границы в 

«шапке» списка. Чтобы включить автоподбор ширины столбца по его содер-
жимому, нужно дважды щелкнуть его границу справа от заголовка столбца. 
Чтобы изменить порядок столбцов, перетащите их заголовки как требуется 
(но столбец Process всегда будет первым слева, он также всегда будет ви-
ден). Столбцы, содержимое которых не умещается в отведенном для него 
месте, можно прокручивать по горизонтали.

SIN_ch_03.indd   46

27.12.2011   14:14:21