Process Explorer. Обзор некоторых возможностей

    Process Explorer – альтернатива стандартному Task Manager-у. Эта утилита, как и многие другие утилиты Sysinternals, здорово расширяет возможности контроля и управления системой. Главное новшество только что вышедшей 14-ой версии — возможность мониторить сетевую активность процессов. Далее небольшой обзор возможностей этой утилиты, которые считаю наиболее полезными для себя.

    Для справки. С 2006 года Sysinternals была приобретена Microsoft, а ключевая фигура этой компании – Марк Руссинович с тех пор работает в Microsoft. Марк известен своими утилитами, книгой Windows Internals, блогом и является признанным специалистом по архитектуре Windows.

    Содержание:
    • Колонки в главном окне
    • Сервисы внутри svchost
    • Суммарные графики активности, процесс с максимальной активностью
    • Суммарные графики активности в трее, процесс с максимальной активностью
    • Сетевые соединения процесса
    • Потоки процесса, их активность, стек потока с загрузкой символов
    • Информация по использованию памяти в системе
    • Handles и DLL процесса
    • Поиск handles и DLL


    Колонки в главном окне


    1

    2

    Для каждого процесса:
    1. Имя процесса
    2. Владелец процесса, я использую сортировку по этому полю, чтобы первыми шли пользовательские процессы, потом системные
    3. Загрузка CPU процессом
    4. Суммарное затраченное время CPU, интересно иногда обращать на это внимание, полезен для таймирования
    5. Private bytes — объем занимаемой процессом памяти (реально выделенные страницы, исключая shared)
    6. Peak private bytes — пиковое значение Private bytes, интересно иногда взглянуть до чего дело доходило
    7. I/O read bytes — суммарный объем считанных с диска данных, по изменению видна активность
    8. I/O write bytes — суммарный объем записанных на диск данных, по изменению видна активность
    9. Network receive bytes — суммарный объем считанных из сети данных, по изменению видна активность
    10. Network send bytes — суммарный объем переданных в сеть данных, по изменению видна активность
    11. Описание процесса
    12. Название компании
    13. Полный путь к образу процесса (тут можно точно понять откуда стартовал процесс)
    14. Командная строка запуска процесса

    Сервисы внутри svchost


    При наведении курсора на svchost (процесс который хостит в себе сервисы) можно видеть перечень сервисов – довольно полезная фича.

    ScreenShot00243

    Суммарные графики активности, процесс с максимальной активностью


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

    ScreenShot00239

    В окне «system information» графики собраны вместе, здесь удобнее смотреть корреляцию параметров.

    ScreenShot00262

    Суммарные графики активности в трее, процесс с максимальной активностью


    Очень удобная фича – выведение в трей иконок с графиками суммарной активности. Там могут быть графики дисковой активности, CPU и память. Я использую первые два – поглядываю туда, при возникновении вопросов достаточно навести курсор и узнать какой процесс дает максимальный вклад в параметр. К сожалению сетевую активность туда нельзя выставить, я надеюсь это вопрос времени.

    ScreenShot00240 ScreenShot00241

    Сетевые соединения процесса


    В свойствах процесса в закладке TCP/IP можно посмотреть текущие активные соединения. К сожалению сетевая активность по ним не видна, эта функциональность пока доступна в другой утилите – tcpview.

    ScreenShot00254

    Потоки процесса, их активность, стек потока с загрузкой символов


    В свойствах процесса в закладке threads видны все его потоки и загрузка CPU по потокам. Допустим хочется рассмотреть стек потока, который интенсивно что-то делает или висит. Для этого сперва надо его распознать, допустим по загрузке CPU, потом полезно приостановить процесс, чтобы спокойно рассмотреть его состояние — это можно сделать прямо в этом окне по кнопке “suspend”. Далее выделяем поток и нажимаем “stack”. В большинстве случаев стек будет начинаться в недрах системы и обрываться не совсем понятным образом. Дело в том, что не имея отладочной информации по системным библиотекам не удастся корректно развернуть стек и разобраться в нем. Есть решение – нужно сконфигурировать доступ с символьной информации с сайта Microsoft. Надо проделать несколько шагов:

    1. Установить Debugging Tools. Из приведенной ссылки надо пойти по ссылке “Debugging Tools for Windows 32-bit Versions” или “Debugging Tools for Windows 64-bit Versions”. Далее выбрать для скачивания последнюю версию не интегрированную в SDK, иначе это выльется в скачивание огромного объема SDK, а так всего несколько Mb.
    2. Настроить доступ к символам в Process Explorer. Options –> Configure Symbols. В одном поле задаем путь к dbghelp.dll, которая находится внутри установленного продукта из шага 1. Во втором настраиваем такую хитрую строку: “srv*C:\Symbols*http://msdl.microsoft.com/download/symbols”. Часть строки указывает на локальный кэш для PDB файлов, вторая часть на путь к серверу для скачивания.
    3. Теперь список потоков и стек будут более информативны. При открытии этих окон может происходить задержка на время подкачки PDB файлов с сервера Microsoft, но делается это один раз для каждой версии модуля, результат кэшируется в выбранной папке.

    ScreenShot00255

    ScreenShot00256

    Информация по использованию памяти в системе


    В окне «system information» закладка «memory». Здесь есть два графика – commit и physical. Physical – использование физической памяти без учета файлового кэша, под который уходит все что остается. Commit – сколько памяти выделено для процессов включая используемую виртуальную память. Под графиками в разделе «Commit Charge» есть поля Limit и Peak. Limit определяется суммой физической и виртуальной памяти, т.е. это максимальный суммарный объем памяти, который может выделить система. Peak – это максимум графика Commit за время работы утилиты. Процентные соотношения Current/Limit и Peak/Limit удобны для быстрой оценки насколько состояние системы приближалось к критическому лимиту по доступной памяти.

    ScreenShot00257

    Handles и DLL процесса


    В главном окне можно включить разделитель и снизу отображать DLL или handles выделенного процесса. При борьбе с вирусами и отладке программ это бывает очень полезно. На картинке — список handles для opera, первый handle файловой системы – это flash ролик в временном каталоге.

    ScreenShot00258

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

    ScreenShot00259

    Поиск handles и DLL


    Поиск по имени handle или DLL во всех процессах. Вводим имя DLL от Logitech из предыдущего пункта и убеждаемся что подключается он почти везде.

    ScreenShot00260

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

    ScreenShot00261

    PS Для отображения некоторых полей (например сетевая статистика) требуются административные привилегии. Повысить привилегии в уже запущенном Process Explorer можно с помощью команды в меню File. Только при наличии таких привилегий есть возможность добавить такие колонки. Я считаю такое поведение неверным, т.к. скрывает потенциальные возможности приложения от пользователя. Если поля добавлены и при следующем запуске нет административных прав, то они будут пустыми. Можно задать ключ "/e" в командной строке, чтобы форсировать поднятие привилегий при старте Process Explorer.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 43
    • +29
      лучше бы его включили в стандартную поставку Windows
      • +1
        Однажды, в универе, совершил диверсию: заменил «Диспетчер Задач Windows» на «Process Explorer». Все остались довольны.
        • +5
          Да ситуация такова, что Task Manager развивается параллельно и тоже не стоит на месте, но Process Explorer конечно более продвинутый инструмент.

          Кстати в меню есть команда замещения стандартного Task Manager-а на Process Explorer. При нажатии Ctrl+Shift+Esc будет вызываться Process Explorer.
          • +1
            Для рядовых пользователей — не вариант… Многие то и с «Диспетчером Задач Windows» разобраться не могут…
          • –3
            Пользуюсь этим, то же нравится.
            • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              Отличная программа! Давно пользуюсь. На днях благодаря ей выявил слабое место в программе на работе.
              А есть ли что-нибудь подобное для Ubuntu?
              • +10
                Конечно. Правда из-за специфики подобных параметров и из-за особенностей самого Linux все самые продвинутые утилиты мониторинга процессов и ресурсов — консольные. Я пользуюсь htop — мегаудобная вещь, если освоить её хоткеи. Вообще самый продвинутый системный монитор из всех, которые я видел для всех ОС. Не показывает, правда, загрузку сети. Для выяснения, кто блокирует ресурсы, есть всякие lsof и иже с ними. В общем и целом в Linux можно легко докопаться до всего встроенными средствами, просто надо знать как. В одно GUI я не видел, чтобы кто-то объединял все утилиты, но ИМХО это и не нужно, через консоль в разы быстрее и удобней, а смотреть всё это неподготовленному человеку, не умеющему пользоваться консолью, всё равно не потребуется.
                • 0
                  Частично его функции в Ubuntu выполняет System Monitor.
                  • 0
                    а в windows частично его функции выполняет taskmgr =)))
                    Кстати какой кнопкой он вызывается в Ubuntu?
                    • 0
                      Да как сказать :) Диспетчер задач Винды все же не дотягивает до функциональности системного монитора в Убунте. Разве только Монитор ресурсов, который появился в Висте, да в Вин7 обновился.
                      На системный монитор у меня никакой клавиши не обнаружено и кажется не было по умолчанию, что однако не мешает ее Вам назначить.
                      Есть Ctrl+Alt+T — вызывает терминал. А уж в нем у Вас руки развязаны — делайте что хотите :) У меня на терминал обычно назначена тильда ~ (Shift+ё). Мне так удобнее.
                      • 0
                        ~ как в hal-life =)
                        Вы правы, родные средства винды слабоваты в отношении этих продуктов
                        Спасибо за инфу по убунту!
                      • 0
                        На какую назначите, той и вызывается=)
                    • –1
                      Не могу подсказать, т.к. не работаю под Unix системами.
                    • +1
                      А как включить 9 и 10 колонки? Никак найти не могу, версия 14.
                      • 0
                        Правой кнопкой по заголовку любой колонки, в контекстном меню выбрать Select Columns, в новом окне перейти на вклладку Process Network и поставить галки Sends Bytes и Receives Bytes.
                        • 0
                          а у меня эти (7,8,9,10) колонки пустые почему то, то делать?
                          • 0
                            update: 7,8 после перезагрузки заполнились, а 9 и 10 стоят как живые, но пустые…
                            • 0
                              Проблема в административных правах. Тут уже были такие вопросы, поэтому пост обновил — см. PS в конце.
                            • 0
                              нашел, просто запускал сначала без админских прав, без них нет вкладки Process Network
                            • 0
                              Он должен быть запущен от админа или File — show details for all processes
                              • 0
                                Надо чтобы программа имела права администратора, думаю неверно что параметры прячут при остутствии прав. Можно привелегии повысить на ходу, в меню File есть команда.
                                Если однажды выбраны колонки, то при следующем запуске они будут на месте и если прав недостаточно то там просто пусто будет. Можно в параметрах ключ задать "/e", тогда UAC запрос будет выдан сразу при старте.
                              • +4
                                Про эту программу можно целую книгу написать…
                                • 0
                                  Уже написали, в Windows Internals постоянные отсылки к PE.
                                • 0
                                  А никто не подскажет можно ли с помощью нее вести логи загрузки ЦП? Просто иногда возникает непонятная загрузка ЦП и хотелось бы в логах (например за пару дней) просмотреть какую либо закономерность.
                                  • +1
                                    консоль perfomance(производительность) позволяет вести логи. причем ему можно указать, мониторить какой процесс нужно (актуально для серверов)
                                    • 0
                                      В консоли MMC «Производительность» в папке «Группы сборщиков данных/Особый» создаете новую группу сборщиков данных по шаблону производительность. Условие остановки снимаете и задаете лимит журнала в 100 Мб (или более, я задал 1 Мб и оно остановилось почти сразу). Потом результаты работы сборщика можно будет проанализировать с помощью команды «Последний отчет» и найти причину.
                                      Кажется так. Поправте меня, если я неправ.
                                      • 0
                                        Process Explorer насколько я знаю ничего не логгирует, хотя в себе то он держит историю пока работает. Может доживем и до этого. А так наверное можно системными счетчиками воспользоваться.
                                      • 0
                                        Спасибо за обзор возможностей, Илья. А то пользовался раньше только по назначению из названия, а в остальных функциях было лень разбираться.
                                        • +1
                                          Пожалуйста. Я постарался написать имено про те вещи, которыми реально пользовался и которые были полезны, полный обзор был бы больше.

                                          Есть еще autoruns и process monitor от sysinternals и много чего еще, просто почитать краткое описание их возможностей будет полезно, могут и пригодиться.
                                        • +1
                                          Пост доказывающий превосходство Windows над всеми другими ОС.
                                          Если серьезно — то sysinternals утилиты нужно включить в состав ОС.
                                          ProcessExlorer вкупе с их же Autoruns и PocessMonitor — практически всё что нужно для избавления компьютера под Winows от вирусов, ещё можно добавить avz4.
                                          • 0
                                            Ну не скажите — от какой-нибудь новой версии Sality вы с их помощью не избавитесь.
                                            • 0
                                              Sality — это вообще исключительный случай, но и её можно вылечить частично вышеупомянутыми утилитами, и до лечить уже утилитами вроде SalityKiller от касперского.
                                              В большинстве случаев вирусы не настолько жестокие, при грамотном подходе работа из под пользователя не даст распространится такой заразе.
                                          • +3
                                            Для тех, кто ищет подобную программу, но с открытым исходным кодом, советую посмотреть Process Hacker. Как вариант — того, кто хочет понимать, что к чему, могут заинтересовать исходники.
                                          • +1
                                            очень порадовал в семерки — resource monitor
                                            реально можно посмотреть какой процес грузит сеть, что происходит на винте и т.д.
                                            • 0
                                              Спасибо, интересная штука, есть весьма полезные возможности.
                                            • 0
                                              Нити процесса..
                                              Всё таки не нити, а потоки. В русском языке в качестве перевода понятия thread устоялось слово поток. Оно используется во всей технической литературе. Нитью по русски именуется понятие fiber, оно же волокно процесса.
                                              • 0
                                                Здесь момент спорный, threads по разному в разных местах переводят, сам я использую и тот и другой вариант названия. Но я все-же поменял на потоки, пусть будет как в переводе классической книжки Рихтера.
                                              • 0
                                                Ну для меня стандарт, по которому я ориентируюсь в терминах — перевод книги «Внутреннее устройство Windows» Руссиновича и Соломона.
                                                А то помнится в какой-то книге видал перевод handle то-ли как «ручка», то-ли как «держатель», вместо православного «дескриптора».
                                                • 0
                                                  Спасибо что напомнили, надо будет обновить. А то уже года 3 ставлю всегда одну и ту же версию из «стандартного пакета программ» после переустановки ОС.
                                                  • 0
                                                    Пожалуйста.

                                                    На сайте уже версия 14.1. В ней немного переработано окно «system information», на одной из закладок все графики вместе. Еще похоже исправлена особенность с которой тут столкнулись — нельзя было добавить некоторые колонки если нет прав администратора.

                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.