qark.ru

Главная » Статьи » Windows » Службы и процессы

Обзор утилит от Windows Sysinternals

Обзоры утилит от Sysinternals.com (с 1996 года technet.microsoft.com/sysinternals):

Этот обзор - продолжение цикла статей о свободно распространяемых утилитах на Windows Sysinternals (technet.microsoft.com раздел: Windows Sysinternals).

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

 

Обзор утилиты Process Explorer от Windows Sysinternals

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

Утилита не требует установки. Достаточно распаковать архив и запустить файл procexp.exe. Откроется главное окно утилиты, которое показано на рисунке ниже.

Process Explorer

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

Свойства процесса

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

Для любого процесса при помощи щелчка правой кнопки мыши по имени процесса можно изменить его приоритет, завершить его выполнение или завершить выполнение процесса и его дерева. Полезная особенность Process Explorer заключается в том, что работу любого процесса можно приостановить (suspend), а потом возобновить (resume). Приостановка работы процесса может временно освободить занятые им ресурсы (процессор, сеть, жёсткий диск) для использования другими приложениями. Приостановив выполнение процесса можно определить, например, какой процесс открывает окна или проявляет повышенную сетевую активность. Это бывает необходимо сделать при подозрении на заражение компьютера вирусом или для пресечения работы рекламного программного обеспечения, которое устанавливается на компьютер без ведома пользователя.

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

При помощи пункта меню Options - Replace Task Manager можно заменить стандартный Диспетчер задач Windows на Process Explorer. После такой замены по нажатию комбинации клавиш Ctrl+Shift+Esc будет открываться Process Explorer. Информация о системе, вызываемая из Process Explorer при помощи Ctrl+I, более полная, чем аналогичная вкладка Диспетчера задач Windows. Её пример показан на рисунке ниже.

Информация о системе

Process Explorer может вывести скрытое окно приложения на экран. Некоторые программы не восстанавливают свой значок в трее, и если оболочка по каким-то причинам перезагружается, то после этого доступ к интерфейсу свёрнутой в трей программы получить будет невозможно. Придется завершать её через Диспетчер задач и запускать заново с потерей всех несохранённых данных. Воспользовавшись пунктом контекстного меню Bring to Front можно получить доступ к такому окну и сохранить данные.

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

 

Обзор утилиты PageDfrg от Windows Sysinternals

В продолжение цикла статей о свободно распространяемых на Windows Sysinternals утилитах вашему вниманию предлагается обзор утилиты PageDfrg, которая оптимизирует файлы реестра, файл подкачки, лог–файлы работы системы и файл в котором сохраняется содержимое оперативной памяти при использовании спящего режима (hibernate.sys). Скачать утилиту можно на странице загрузки PageDfrg. Утилита работает в операционных системах Windows NT 4.0, 2000, XP, 2003.

Утилита не требует установки. Достаточно распаковать архив и запустить pagedfrg.exe. Пример главного окна утилиты представлен ниже.

Главное окно PageDefrag

Стандартный дефрагментатор Windows не дефрагментирует файлы, которые открыты системой. Эти файлы наиболее активно используются системой и их большая фрагментация может снижать общее быстродействие. Учитывая, что файл подкачки обычно большого размера, его фрагментация может быть очень существенной. Дефрагментировав файл подкачки, файлы реестра и журналов работы системы можно повысить скорость обращения к ним и получить прирост производительности. Это особенно актуально для компьютеров со старыми винчестерами или малым объемом оперативной памяти. Дефрагментация файла hibernate.sys, в котором система сохраняет содержимое оперативной памяти при переходе в спящий режим, позволит сократить время переключения в этот режим и обратно.

Утилита Sysinternals System Defragmenter очень проста в использовании. После ее запуска на экран будет выведено главное окно программы. В поле File будет перечислены все файлы, которые может дефрагментировать утилита и указано количество фрагментов этих файлов. Чтобы выполнить дефрагментацию нужно установить переключатель в группе Defragmentation Control в положение Defragment at next boot (дефрагментировать при следующей загрузке) или Defragment every boot (дефрагментировать при каждой загрузке) и указать в поле Defragment abort countdown количество секунд, в течение которых при загрузке системы дефрагментация может быть отменена. После выбора одного из этих типов дефрагментации нужно перезагрузить компьютер. Во время загрузки будет запущен процесс дефрагментации.

Дефрагментация

Чтобы отключить дефрагментацию при каждой загрузке нужно выбрать пункт Don`t defragment (не дефрагментировать).

Следует помнить, что для эффективной дефрагментации системных файлов, на диске, где они находятся, должно быть свободно не менее 15% места. Перед запуском дефрагментации системных файлов необходимо дефрагментировать системный диск при помощи стандартного дефрагментатора (Пуск – Выполнить – dfrg.msc).

  

К оглавлению

Обзор утилиты Autoruns от Windows Sysinternals

В продолжение цикла статей о свободно распространяемых на Windows Sysinternals утилитах вашему вниманию предлагается обзор утилиты Autoruns, которая позволяет контролировать автозагрузку при старте системы компонентов, сервисов и приложений. Скачать утилиту можно на странице загрузки Autoruns.

Утилита не требует установки. Достаточно распаковать архив и запустить autoruns.exe. Пример главного окна утилиты показан на рисунке ниже.

Главное окно Autoruns

После запуска утилиты в главном окне перечислены объекты, которые автоматически запускаются при старте системы. Чтобы отключить запуск определенного объекта достаточно снять отметку напротив его имени. Отключение не удаляет автозапуск, а лишь отключает его. В последствии можно будет включить автозапуск, вернув отметку около названия, отключенного ранее автозагружаемого компонента.

Чтобы удалить компонент из автозагрузки можно воспользоваться контекстным меню, которое вызывается щелчком правой кнопки мыши на названии объекта или выделить объект и нажать Ctrl+D.

Чтобы просмотреть ярлык для запуска приложения или ключ реестра, который его запускает, можно воспользоваться пунктом меню Entry – Jump to. Откроется Проводник или редактор реестра и будет выполнен переход в то место, откуда запускается приложение.

Autoruns позволяет легко получить дополнительную информацию о приложении или сервисе, которые показаны в главном окне программы. Для этого нужно выделить интересующее приложение и нажать Ctrl+G или выбрать в меню Entry – Google. Autorun сформирует запрос и отправит его на поисковую систему Google, результаты которого можно будет просмотреть браузером.

Для просмотра свойств файла, автоматический запуск которого выполняется при загрузке системы, достаточно выделить интересующий пункт в главном окне Autoruns и выбрать в меню Entry – Properties. Откроется окно свойств файла, такое же, как то, которое открывается щелчком правой кнопки по файлу в Проводнике и выбора Свойства.

При необходимости можно просмотреть информацию об автозагружаемых библиотеках, расширениях Проводника, службах, библиотеках, которые зарегистрированы для отображения событий, возникающих при входе в систему. Для получения всей этой информации нужно отметить один из пунктов Show AppInit DLLs, Show Explorer Addons, Show Services, Show Winlogon Notifications в меню View. Управлять автозапуском перечисленных объектов можно так же, как описывалось выше.

Autoruns позволяет просмотреть те папки и ключи реестра, которые могут использоваться для автозапуска приложений, но в данный момент не задействованы. Для отображения этих мест нужно выбрать в меню View – Include Empty Locations.

При большом количестве записей в главном окне программы может быть полезно скрыть те из них, которые имеют цифровую подпись Microsoft (View – Hide Signed Microsoft Entries). Отключение показа таких записей позволит быстрее найти автозагружаемый объект.

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

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

 

 
К оглавлению

Монитор файловой системы FileMon

В продолжение цикла статей об утилитах, свободно распространяемых на Windows Sysinternals, обзор Монитора файловой системы FileMon.

Утилита очень проста в использовании, имеет небольшой размер и предоставляет полный контроль над обращениями к файловой системе. FileMon позволяет собрать всю информацию об обращении к файлам системы, программ, показывает какие библиотеки используют приложение и является отличным средством для диагностики проблем, которые могут возникать в работе приложений и системы. Гибкая настройка фильтра позволяет получить сведения об обращениях к файловой системе определенной программы, что значительно облегчает диагностику неисправностей в работе программы. Совместимость со всеми версиями Windows делает FileMon универсальным инструментом.

Внешний вид FileMon показан на рисунке ниже.

Интерфейс FileMon

При помощи пункта меню File – Path Properties можно получить информацию о свойствах файла, к которому было зафиксировано обращение. При помощи File – Process Properties – информацию о процессе, выполнявшем обращение к файлу.

Пункты меню Edit – Include Process и Edit – Exclude Process служат для быстрой настройки фильтра и либо включают, либо исключают из мониторинга обращения определенных процессов к файловой системе. Пункты Edit – Include Path и Edit – Exclude Path включают или отключают мониторинг обращений любого процесса к определенному файлу.

Пункт меню Edit – Explorer Jump, либо двойной щелчок по строке в окне программы, открывает Проводник и делает текущей ту папку, в которой находится объект, попытка доступа к которому была зафиксирована FileMon.

Окно настройки фильтра FileMon можно открыть при помощи Options – Filter/Highlight. Внешний вид окна настройки фильтра показан на рисунке ниже.

Настройка фильтра FileMon

По умолчанию, при первом запуске утилиты, она начинает сбор информации обо всех обращениях к файловой системе. Чтобы включить (Include) или исключить (Exclude) в мониторинг определенный(е) процесс(ы) или путь(и), необходимо прописать их в настройках фильтра. Имена процессов или путей разделяются точкой с запятой. Поле Highlight позволяет указать имя процесса или путь, обращения которых или к которым будет подсвечено в главном окне программы определенным цветом. Это упрощает дальнейшую работу с результатами мониторинга и позволяет оперативно находить интересующую информацию.

Три чек–бокса внизу окна настройки фильтра позволяют настроить протоколирование только определенных действий над объектом, как то Открытие ( Open ), Чтение ( Reads ) или Запись ( Writes ). Эти настройки разрешают максимально сократить объем лишней информации, собираемой монитором, и значительно облегчают поиск необходимых значений в логе работы.

Пункт меню Options – Advanced Output включает протоколирование процесса System и позволяет отслеживать работу диспетчера памяти и протоколировать обращения системы к файлу подкачки.

Пункт меню Volumes позволяет включать или отключать мониторинг обращений только к определенным томам.

В качестве примера работы с FileMon можно решить задачу определения места хранения файлов почтовой базы данных Outlook Express. Для этого нужно настроить фильтр следующим образом:

Настройка фильтра FileMon

Т.е. FileMon будет протоколировать только чтение данных процессом msimn.exe. Для сбора информации достаточно настроить фильтр, проверить, что включено протоколирование (отмечен пункт File – Capture Events) и открыть Outlook Express. Пример окна утилиты с собранными данными показан ниже.

Интерфейс FileMon

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

 

 
К оглавлению

Монитор реестра (Registry Monitor)

Свободно распространяемая на Windows Sysinternals утилита Registry Monitor (RegMon) предоставляет возможность собрать информацию об обращениях к реестру Windows. Утилита RegMon записывает в log-файл абсолютно все обращения к реестру, включая обращения самой системы и всего программного обеспечения, которое работает на момент сбора данных. Программа имеет настраиваемый фильтр, при помощи которого можно собрать информацию об обращениях к реестру только одной или нескольких программ, либо исключить из наблюдения определенные программы.

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

Внешний вид Registry Monitor показан на рисунке ниже.

Интерфейс RegMon
  • File:
    • Open — открывает ранее собранный и сохраненный лог-файл для анализа в Registry Monitor-е. Будьте внимательны, открывая лог, текущие собранные данные будут потеряны, поэтому, если они нужны, то сохраните предварительно собранные данные в файл.
    • Save — сохраняет собранные данные в файл.
    • Save as... — сохраняет собранные данные в файл.
    • Process Properties... — свойства процесса. Если в окне, где отображены собранные данные, выделить любую строку, то данный пункт меню станет доступен и при его выборе откроется окно с информацией о том процессе, обращение которого к реестру выделено. Пример окна с информацией о процессе показан ниже.
      Информация о процессе
    • Capture Events — переключатель, который включает или приостанавливает сбор сведений об обращениях к реестру.
    • Exit — выход.
  • Edit:
    • Copy — копирует в буфер обмена выделенную строку.
    • Delete — удаляет выбранную строку.
    • Include Process — быстрая настройка фильтра. После применения этого пункта меню будут отслеживаться обращения к реестру только указанного процесса. Чтобы отменить эту настройку исправьте фильтр (о чем будет рассказано ниже).
    • Exclude Process — исключить процесс. Обращения данного процесса более не будут попадать в собранные данные и он, таким образом, будет исключен из мониторинга.
    • Include Patch — будут собираться данные только при обращении к выделенному в момент применения команды меню разделу реестра и его подразделам. Для отмены отслеживания только определенного раздела реестра исправьте фильтр, о чем более подробно будет рассказано далее.
    • Find... — поиск строки в собранных данных в окне Registry Monitor.
    • Regedit Jump... — если выделить в окне Registry Monitor строку и выбрать этот пункт меню, то будет запущен редактор реестра RegEdit и в нем будет автоматически развернуто дерево разделов того раздела, имя которого находится в выделенной строке Registry Monitor-а. Двойной клик мышью по любой строке собранных данных в RegMon выполняет такое же действие, т.е. открывает RegEdit сразу на том ключе, к которому было зафиксировано обращение процесса.
    • Clear Display — очищает экран от собранных данных. Будьте осторожны, если данные представляют интерес, то не забудьте предварительно сохранить их в файл.
  • Options:
    • Font... — открывает диалоговое окно выбора шрифта, которым будет отображаться собранная информация в окне Registry Monitor.
    • Highlight Colors... — открывает диалоговое окно выбора цвета для строк и текста, которые необходимо подсвечивать в собранных данных. Более подробно о подсветке строк смотрите ниже, в настройках фильтра.
    • Filter/Highlight... — открывает окно настройки фильтра и подсветки строк. Пример этого окна показан ниже.
      Фильтр

      В данном примере собирается информация об обращениях к реестру всех процессов, за исключением IEXPLORE.EXE и Explorer.EXE, причем, все обращения к реестру процесса csrss.exe подсвечиваются в окне другим цветом. Галки внизу окна позволяют собирать только определенные события, как то:

      • Log Opens — включает или отключает сбор информации о процессах, которые открывают ключи реестра.
      • Log Reads — включает или отключает сбор информации о процессах, которые читают ключи реестра.
      • Log Writes — включает или отключает сбор информации о процессах, которые пишут в ключи реестра.
      • Log Successes — включает или отключает сбор информации о процессах, любое обращение которых к реестру было удачно (т.е., к примеру, процесс смог успешно считать или записать значение).
      • Log Errors — включает или отключает сбор информации о процессах, любое обращение которых к реестру закончилось ошибкой (например, процесс не нашел определенный ключ реестра).

      В этом же окне кнопка Defaults сбрасывает все сделанные настройки фильтра в значениях, при которых будут собираться все данные.

    • History Depth... — позволяет настроить количество строк, которые будут запоминаться Registry Monitor-ом. Именно такое количество строк затем будет сохранено в лог-файле работы RegMon-а. Для хранения всех строк используется значение 0.
    • Always On Top — включение этого параметра позволит всегда видеть окно RegMon-а выше всех окон, что весьма удобно при сборе данных от нескольких приложений, между которыми необходимо переключаться.
    • Auto Scroll — этот параметр позволяет включить прокрутку окна с собранными данными. Последнее обращение к реестру всегда будет видно на экране.
    • Clock Time — если этот параметр выключен, то в лог будет записано время обращения процесса к реестру, относительно времени запуска Registry Monitor. Если включен, то будет записано системное время.
    • Show Milliseconds — если предыдущий параметр включен, т.е. в лог записывается системное время, то имеет смысл включить и этот параметр. В этом случае, к системному времени будут записываться и миллисекунды, что повысит точность определения времени обращения процесса к реестру.
    • Log Boot — выбор этого параметра включает мониторинг обращения к реестру во время загрузки системы. Т.е. после его выбора надо перезагрузиться и Registry Monitor запишет в лог-файл с именем REGMON.LOG, находящийся в папке, где установлена Windows, все обращения к реестру на протяжении загрузки системы. Такой лог-файл будет иметь размер в несколько десятков мегабайт. Запись обращений к реестру будет продолжаться до тех пор, пока не будет запущен RegMon или до следующей перезагрузки системы.

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

Для примера я решил выяснить, где Outlook Express хранит правила для сортировки сообщений. Это позволит настроить автоматический экспорт нужной ветки реестра и всегда иметь архивную копию правил сортировки. Наличие такой копии позволит восстановить правила сортировки за пару минут, что при большом количестве правил сэкономит очень много времени.

Итак, запустим RegMon. Настраивать пока фильтр не будем. Включим опцию Always On Top, чтобы окно RegMon не «убегало» на задний план. При запущенном RegMon-е откроем Outlook Express. Сразу после окончания его загрузки нажмем кнопку Capture или выберем пункт меню File — Capture Events, чтобы остановить сбор данных. Пример окна Registry Monitor после запуска Outlook Express с остановленным процессом сбора информации показан ниже.

Предварительный сбор

В данном случае интересны обращения к реестру только процесса msimn.exe, поэтому щелкнем на нем правой кнопкой и выберем Include Process, либо выберем в меню Edit — Include Process. На запрос о том, хотим ли мы применить этот фильтр к уже собранным данным можно ответить и положительно и отрицательно, это не имеет значения. Теперь нужно очистить окно Registry Monitor. Для этого выберите Edit — Clear Display. Последний штрих в подготовке сбора данных — донастройка фильтра. Для этого выберем Options — Filter/Highlight. В настройке фильтра, внизу, снимем все галки за исключением Log Writes и Log Successes, настроив, таким образом, отсеивание всех обращений к реестру за исключением успешной записи в реестр значений процессом msimn.exe. Пример настройки фильтра показан ниже.

Настройка фильтра

После того, как фильтр настроен, нужно создать в Outlook Express правило для почты. Чтобы создать правило в Outlook Express, выберите Сервис — Правила для сообщений — Почта. В открывшемся окне создайте правило. Пример уже созданного правила показан на следующем рисунке.

Правило

После того, как правило настроено, нажмите OK в этом окне. Вы вернетесь в окно, показанное ниже.

Правила

Теперь проверьте, что в Registry Monitor включен сбор данных и окно очищено от собранных ранее данных. После нажатия в окне, показанном на рисунке 4, кнопки OK Outlook Express запишет в реестр созданное правило. Нажмите OK. Registry Monitor соберет данные об успешной записи в реестр процессом msimn.exe информации. Окно RegMon-а с собранной информацией показано на следующем рисунке.

Собрана информация

Таким образом, мы получили информацию о разделе, в котором Outlook Express хранит настройки правил. Сохранение одного правила потребовало записи 23 значений. Теперь нужно найти самый верхний раздел реестра из тех, имена которых сейчас находятся в столбце Patch Registry Monitor. Подведите курсор по очереди к каждому значению в столбце Patch и во всплывающей подсказке будет выведен путь к разделу реестра. Найдите самую короткую запись. В данном случае это HKEY_CURRENT_USER\Identities\{D7691494-4CF1-4D7F-9A0F-A700B85345C2}\Software\Microsoft\Outlook Express\5.0\Rules\Mail\000. Щелкните в окне Registry Monitor по записи с самым коротким путем два раза левой кнопкой мыши. Откроется редактор реестра, в котором автоматически будет развернуто дерево разделов до раздела, по которому был выполнен двойной щелчок. Окно реестра показано на следующем рисунке.

Раздел реестра

Таким образом, мы выяснили где Outlook Express хранит настройки правил. Теперь при написании скрипта для ежедневного бэкапа можно будет включить в него строку, которая выполнит экспорт правил Outlook Express в reg-файл, который затем будет помещен в резервную копию на сервер или на другой носитель.

Рассмотренный пример не самый сложный, он призван показать методику работы с Registry Monitor, поняв которую найти все ключи программы в реестре становится не такой уж и сложной задачей.


Категория: Службы и процессы | Добавил: disco (14 Марта 2012)
Просмотров: 4577 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: