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

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

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

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

Добавлен: 29.10.2018

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

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

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

Часть II

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

Глава 3.  Process Explorer ............................................................................ 38

Глава 4.  Process Monitor ............................................................................. 99

Глава 5.  Autoruns ........................................................................................ 142

Глава 6.  PsTools .......................................................................................... 169

Глава 7.  Утилиты для работы с процессами и диагностики .............. 211

Глава 8.  Утилиты системы безопасности .............................................. 262

Глава 9.  Утилиты для работы с Active Directory ................................... 290

Глава 10.  Утилиты рабочего стола ......................................................... 311

Глава 11.  Утилиты для работы с файлами ............................................ 327

Глава 12.  Утилиты для работы с диском ............................................... 337

Глава 13.  Сетевые и коммуникационные утилиты .............................. 353

Глава 14.  Утилиты для получения информации о системе ............... 361

Глава 15.  Другие утилиты ......................................................................... 378

SIN_ch_03.indd   37

27.12.2011   14:14:18


background image

Глава 3

Process Explorer

Процесс — это базовая сущность для любого компьютера, работающего под 
управлением Microsoft Windows. Зная процессы, запущенные в данный мо-
мент, легко разобраться в утилизации времени центрального процессора 
(ЦП) и других ресурсов, диагностировать неполадки и выявлять вредонос-
ное ПО. Чаще всего с сайта Sysinternals скачивают Process Explorer и, в чем 
вы вскоре убедитесь, не без оснований.

Чтобы пользователям было проще разобраться в действиях процессов, 

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

Еще на заре Sysinternals мы с Брюсом Когсвеллом создали множество 

утилит для заполнения пробелов в данных, выводимых Диспетчером за-
дач. Эти утилиты отслеживали разнообразные аспекты процессов и служб 
Windows, регистрируя более подробные сведения. Первые три утилиты 
— PsList, DLLView, и HandleEx (сейчас — просто Handle), положили нача-
ло инструментарию Sysinternals для получения подробной информации о 
процессах. Все они доступны и сейчас, но речь о них пойдет в других гла-
вах. Однако вскоре стало ясно, что нужна более удобная программа с еди-
ным графическим интерфейсом, чтобы докопаться до сути происходящего 
в Windows посредством анализа процессов. Так появился Process Explorer 
(кратко — Procexp).

SIN_ch_03.indd   38

27.12.2011   14:14:20


background image

Process Explorer  

Глава 3  39 

Обзор Procexp

Procexp несомненно является наиболее функциональной из всех ути-
лит Sysinternals и затрагивает больше аспектов внутреннего устройства 
Windows, чем остальные (см. главу 2). Вот лишь некоторые основные функ-
ции Procexp:
•  отображение дерева родства процессов;
•  цветовая подсветка различных типов процессов, таких как: службы, про-

цессы .NET, процессы, работающие под той же учетной записью пользо-
вателя, что и Procexp, процессы, являющиеся частью задания, и упако-
ванные образы;

•  отображение в подсказках информации о командной строке и других 

процессах;

•  выделение новых и недавно завершившихся процессов;
•  более точное отображение утилизации ЦП, благодаря чему процессы, по-

требляющие менее 1% времени ЦП, не отображаются как бездействую-
щие;

•  более точные показания загруженности ЦП на основе счетчиков циклов 

ЦП и переключений контекста;

•  дублирование функций Диспетчера задач, который Process Explorer 

вполне заменяет;

•  возможность определить процесс, которому принадлежит то или иное 

видимое окно на рабочем столе;

•  возможность найти окно, принадлежащее указанному процессу, активи-

ровать его или закрыть;

•  идентификация всех DLL и проецируемых файлов, загруженных процес-

сом, а также всех описателей объектов ядра, открытых процессом;

•  поиск процессов с открытыми описателями к объектам ядра, в частности, 

файлам и папкам;

•  поиск процессов, загружавших DLL, идентификация ее пути и других 

атрибутов;

•  графическое представление активности ЦП, выделения памяти и актив-

ности ввода-вывода как для системы в целом, так и для отдельных про-
цессов;

•  подробные метрики использования памяти и активности ввода-вывода;
•  подробная информация о контексте защиты процесса;
•  подробная информация о конечных точках TCP/IP для процесса;
•  просмотр потоков процесса, их начальных адресов и стеков;
•  выгрузка процесса.

Procexp отображает информацию о процессах в нескольких режимах. 

Окно Procexp по умолчанию состоит из дерева процессов (рис. 3-1; подроб-
нее см. ниже). Procexp может разбивать главное окно на верхнюю и нижнюю 

SIN_ch_03.indd   39

27.12.2011   14:14:20


background image

40  Часть 

II   

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

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

Procexp работает в Windows XP и более поздних версиях с архитектурой 

x86, x64, и IA64, а также в Windows Server 2003 и выше.

Рис. 3-1.  Дерево процессов в Procexp

Мониторинг загруженности ЦП

Ранние версии Windows могли лишь приблизительно измерять реальную за-
груженность центрального процессора. В момент прерывания, генерируемо-
го часами (в большинстве систем интервал между ними составляет 15,6 мс), 

SIN_ch_03.indd   40

27.12.2011   14:14:20


background image

Process Explorer  

Глава 3  41 

Windows идентифицирует поток, исполняемый в данный момент на каждом 
ЦП. Если поток исполняется в режиме ядра, его время ядра увеличивается 
на 15,6 мс, в противном случае увеличивается его время работы в пользова-
тельском режиме (на ту же величину). Возможно, поток успел проработать 
в течение лишь нескольких тактов ЦП к моменту прерывания, но ему все 
равно «начисляется» весь интервал длиной 15,6 мс. В течение этого времени 
могли исполняться сотни разных потоков, но время добавляется только по-
току, «застигнутому» прерыванием системных часов в момент исполнения. 
Диспетчер задач Windows использует эти приблизительные данные в отче-
тах о загруженности ЦП даже в более поздних версиях Windows, имеющих 
более точные показатели. Точность данных Диспетчера задач еще больше 
снижается при округлении до ближайших целых при расчете относитель-
ных величин, так что процессы, потоки которых занимают менее 1% време-
ни ЦП, не отличаются от бездействующих процессов. Наконец, Диспетчер 
задач не учитывает время, затраченное ЦП на обслуживание прерываний и 
отложенные вызовы процедур (DPC), ошибочно приписывая его процессу 
System Idle (Бездействие системы).

Procexp отображает загруженность ЦП точнее Диспетчера задач. Во-

первых, Procexp по умолчанию показывает загруженность ЦП каждым про-
цессом в процентах с точностью до сотой, а не до целого числа. Во-вторых, 
Procexp отслеживает время, затраченное на обслуживание прерываний и 
DPC, не приписывая его процессу System Idle. Наконец, Procexp использует 
дополнительные системные показатели, что позволяет идентифицировать 
процессы, слабо загружающие ЦП, и точнее учитывать фактическую загру-
женность ЦП. В Windows XP, Vista и Windows 7, а также в соответствующих 
серверных версиях для этого предусмотрены разные счетчики. Procexp ис-
пользует все доступные счетчики для достижения максимальной точности 
измерений.

Во всех поддерживаемых версиях Windows все потоки регистрируют 

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

Переключение контекста свидетельствует о том, что поток исполняется, но 

не несет информации о времени его исполнения. Помимо переключений кон-

SIN_ch_03.indd   41

27.12.2011   14:14:20