- 990x.top
- Простой компьютерный блог для души)
- WPTx64 — что это за программа и нужна ли она? (Windows Performance Toolkit)
- WPTx64 — что это такое?
- WPTx64 — можно ли удалить?
- Ускоряем загрузку Windows 7
- Установка Windows SDK
- Установка xPerf из дистрибутива
- Анализ процесса загрузки Windows 7
- Оптимизация процесса загрузки Windows Seven
- Результаты оптимизации времени загрузки Windows 7
- Ускорение загрузки Windows 7 с помощью Windows Performance Toolkit
- Оптимизируем процесс загрузки.
- Модернизация приложений
- Windows Performance Toolkit: базовые сведения
- Основы использования утилиты XPerf
- Получение информации о системе
- XPerf и визуализация стека
990x.top
Простой компьютерный блог для души)
WPTx64 — что это за программа и нужна ли она? (Windows Performance Toolkit)
Приветствую друзья! Иногда можно посмотреть список установленного софта на ПК и удивиться наличию неизвестных программ. Откуда они? Ответ прост — при установке софта часто вместе с ним ставятся и дополнительные компоненты. Особенно это касается тяжелого софта, например Microsoft Office, ПО Adobe.
WPTx64 — что это такое?
Набор средств для оценки производительности Windows.
Данный компонент необходим для работы софта SOLIDWORKS (подробности здесь).
Позволяет анализировать проблемы производительности, включая время запуска приложений, проблемы загрузки, использование ресурсов приложениями и другое.
Возможно компонент имеет отношение к таким встроенным инструментам Windows как Системный монитор и Монитор ресурсов.
- WPT — Windows Performance Toolkit, переводится как инструмент производительности Windows.
- x64 — разрядность системы, вероятно для 32-битной операционки было бы название WPTx86.
WPTx64 является частью пакета SDK и комплекта средств оценки и развертывания Windows. Инфа взята с офф сайта, как понимаю — это часть операционки, поэтому удалять не стоит.
Инструмент Windows Software Development Kit, при помощи которого и можно установить данный компонент:
Устанавливается в эту папку:
C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit
Или просто в Program Files, без x86. Полное название установщика может быть таким — WPTx64-x86_en-us.
WPTx64 — можно ли удалить?
Важно: при установленном ПО SOLIDWORKS удалять WPTx64 не рекомендуется!
С одной стороны это системный компонент, который нужен для оценки производительности, для определения проблем. Но возможно без него можно обойтись. Чтобы не гадать — перед удалением нужно сделать страховку в виде точки восстановления:
- Откройте панель управления. Например так: зажмите Win + R и напишите просто команду control или control panel. Нажмите ОК.
- Найдите значок Система, запустите.
- Выберите Защита системы.
- Выберите системный диск и нажмите кнопку Создать.
- Укажите название точки, например До удаления WPTx64. Нажмите создать.
После — можно удалять WPTx64:
- Зажмите Win + R, вставьте команду appwiz.cpl, нажмите ОК.
- Откроется окно установленного софта.
- Найдите WPTx64, нажмите правой кнопкой и выберите Удалить.
- Следуйте инструкциям на экране, обычно нужно нажимать Далее/Next/Удалить/Uninstall.
Окно Программы и компоненты — здесь ищем WPTx64, выбираем и удаляем. Кстати здесь в списке видим также и софт SOLIDWORKS.
Ускоряем загрузку Windows 7
Одна из сильных сторон Windows 7 по сравшению с Windows XP — это отсутствие «тупняка» на старте и завершении работы по прошествии года использования. И как показывает практика время старта Windows Seven можно уменьшить еще более, оптимизировав процесс загрузки операционной системы.
Речь в статье пойдет не о ковырянии в реестре и шаманских заклинаниях, что чаще приносит результат в конкретных случаях и при массовом использовании малоэффективно, либо вообще вредно, а о официальном программном обеспечении.
Корпорация Microsoft осталась верной себе. Как и для Windows XP была выпущена специальная утилита оптимизирующая процесс загрузки. Но она также не попала в состав самой операционной системы.
Напомню, что процесс оптимизации заключается в более «правильном» расположении на диске загружаемых операционной системой файлов. По сути является дефрагментацией. Но сама программа оптимизации делает несколько больше, чем просто дефрагментация диска.
Набор утилит по оптимизации процесса загрузки Windows 7 называется «Windows Performance Toolkit». Но продукт не распространяется отдельно, а входит в состав Windows SDK. Скачать свежую версию которого можной с официального сайта http://www.microsoft.com/en-us/download/details.aspx?id=8279
И хотя Windows Performance Toolkit не распространяется отдельно, у меня все же есть прямые ссылки на скачивание с официального сайта:
Performance Tools Kit 4.1.1 (x86)
Performance Tools Kit 4.1.1 (Itanium)
Performance Tools Kit 4.1.1 (x64)
Установка Windows SDK
Скачиваем с официального сайта Microsoft http://www.microsoft.com/en-us/download/details.aspx?id=8279 Microsoft Windows SDK for Windows 7 and .NET Framework 4 и запускаем winsdk_web.exe
После формальных «I Agree» и пару нажатий «Next». Выбираем только Windows Performance Toolkit из предлагаемого к установке списка продуктов.
Опять жмем «Next» и ждем окончания загрузки и установки коспонентов.
Установка xPerf из дистрибутива
Если Вы скачали Windows Performance Toolkit по прямым ссылкам, то установка утилиты ничем не отличается от обычной установки программного обеспечения.
Как всегда со всем соглашаемся и жмем «Next».
Анализ процесса загрузки Windows 7
Заходим в каталог куда установили утилиту. У меня она находится здесь: «c:Program FilesMicrosoft Windows Performance Toolkit».
И запускаем команду
xbootmgr -trace boot (Будьте внимательны, компьютер автоматически перезагрузится!)
После перезагрузки в каталоге, в котором эта команда была выполнена останется файл «boot_BASE+CSWITCH_1.etl»
При желании проанализировать процесс текущей загрузки можно выполнить команду
xperf boot_BASE+CSWITCH_1.etl
Оптимизация процесса загрузки Windows Seven
Но если Вы не сильны в анализе и доверяете автоматике, то выполните следующую команду:
xbootmgr -trace boot -prepSystem
По умолчанию выполняется шесть перезагрузок.
По окончании этой процедуры, а в зависимости от производительности компьютера она может длиться 30..60 минут, в каталоге откуда была запущена команда появятся 6 трайсов после каждого этапа. И Вы можете оценить скорость загрузки после каждой перезагрузки и оптимизации.
Результаты оптимизации времени загрузки Windows 7
С помощью утилиты Windows Performance Toolkit мне удалось уменьшить время загрузки моего ноутбука на 45 сек с 2-х минут до 1 минуты 15 секунд.
Ускорение загрузки Windows 7 с помощью Windows Performance Toolkit
Один из способов увеличения скорости загрузки ПК, оптимизация и дефрагментация файлов используемых при старте системы.
Так как я не любитель программ от разных производителей, обещающих 1000% прирост скорости ПК, а так же попутно «почистить реестр», используем программу предоставленную компанией Microsoft — Windows Performance Toolkit.
В отличии от разных поделок «все в одном», после использования данной утилиты от Microsoft, ни один ПК не пострадал(за много лет использования). 🙂
Вообще Windows Performance Toolkit, это профайлер — т.е продукт предназначенный для динамического анализа активности программ.
Т.е. оптимизация, это всего лишь часть его функции, в целом он нужен для поиска «узких мест» системы. И если вас интересует подробный анализ загрузки вашего ПК, то с Windows Performance Toolkit стоит ознакомиться более подробно и не в рамках этой статьи.
Как увеличить скорость загрузки Windows 8.1 читайте в этой статье .
Оптимизируем процесс загрузки.
Скачиваем веб инсталлятор по ссылке с официального сайта Microsoft — перейти
Либо с данного сайта — скачать
Запускаем файл winsdk_web.exe
В появившемся окне нажимаем Next
Принимаем лицензионное соглашение выставлением пункта I Agree и нажатием кнопки Next
Если есть желание можем изменить путь установки пакета, если нет — нажимаем кнопку Next
Нам нужен всего один пункт, поэтому снимаем галочки с других пунктов и оставляем только Windows Performance Toolkit, нажимаем Next
Все готово к началу загрузки с веб узла Microsoft, нажимаем Next
Ожидаем окончания процесса закачки и появления следующего окна Installation Complete, снимаем галочку — View the Windows SDK Release Notes и нажимаем Finish.
Внимание: Если у вас выдало сообщение об ошибке — Installation Failed — решение проблемы в этой статье.
Запускаем командную строку или меню Выполнить (Сочетание клавиш Windows + R).
Вводим команду: xbootmgr -trace boot -prepSystem
Нажимаем ОК
Система предупреждает о перезагрузке, соглашаемся.
После перезагрузки у нас появляется окно Delaying for system preparation (run 1 of 6)
Цифра 1 означает первый проход оптимизации из шести, после каждого прохода, система будет перезагружен автоматически.
Так же Windows Performance Toolkit ожидает 120 секунд, ожидая загрузки программ, запускаемых при старте системы.
После шестой перезагрузки, даже без секундомера можно заметить уменьшение времени требуемого для загрузки Windows 7.
[nx_heading style=»coloredline» heading_tag=»h4″ size=»24″ align=»left»]От автора:[/nx_heading]
Если проблема решена, один из способов сказать «Спасибо» автору — здесь.
Если же проблему разрешить не удалось и появились дополнительные вопросы, задать их можно на нашем форуме, в специальном разделе.
Модернизация приложений
В предыдущих частях данной статьи мы познакомились с техникой, позволяющей избежать утечек памяти, предотвратить зависание приложений, обсудили использование механизмов Application Restart and Recovery и Windows Error Reporting, а также узнали о возможностях утилиты Application Verifier.
В этой и последующих частях мы рассмотрим, как проводить анализ производительности системы и приложений с помощью средств, включенных в состав Windows Performance Toolkit. Эти средства позволяют получить детальную информацию об использовании ресурсов системы — процессора, диска, памяти, сети и т.п., которую можно применять для выявления проблем с повышенной утилизацией ресурсов, их «утечками», задержками в реакции системы, сервисов, процессов и приложений на системные запросы и проблемы, влияющие на эффективное использование подсистемы питания.
Windows Performance Toolkit доступен на клиентских и серверных операционных системах — Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2 — и поддерживается для платформ x86, x64 и ia64. Набор утилит Windows Performance Toolkit распространяется в составе Windows SDK — после установки SDK из каталога BIN необходимо установить версию Windows Performance Toolkit, подходящую для вашей платформы, — wpt_x86.msi, wpt_x64.msi или wpt_ia64.msi соответственно.
Дополнительную информацию по Windows Performance Toolkit можно получить на сайте, посвященном производительности, — он располагается адресу: http://msdn.microsoft.com/en-us/performance/default.aspx.
Windows Performance Toolkit: базовые сведения
В основе Windows Performance Toolkit лежат две утилиты: XPerf, которая служит для активации сбора информации, и XPerfView, используемая для визуального анализа информации о производительности. Взаимодействие XPerf и XPerfView с системными компонентами — в первую очередь с подсистемой Event Tracing for Windows (ETW) — показано на рис. 1.
Рис. 1. Взаимодействие утилит XPerf и XPerfView с системными компонентами
В общем случае работа с утилитами XPerf и XPerfView происходит следующим образом:
- с помощью утилиты XPerf включаем протоколирование событий на уровне ETW;
- выполняем интересующие нас операции, процессы и т.п.;
- с помощью утилиты XPerf завершаем сессию протоколирования;
- выполняем обработку информации — добавление к ETL-файлу, создаваемому подсистемой ETW, системной информации и символов;
- просматриваем и анализируем результат с помощью утилиты XPerfView (рис. 1).
Основы использования утилиты XPerf
Базовые операции по сбору информации используют подсистему протоколирования событий на уровне ядра операционной системы. Для того чтобы узнать, какие провайдеры (поставщики информации) доступны для данной версии операционной системы, можно выполнить следующую команду (здесь и далее применяется интерфейс командной строки с повышенными привилегиями: при вызове CMD. EXE необходимо нажать правую кнопку мыши и выполнить команду Run as Administrator):
Сокращенный результат выполнения данной команды показан на рис. 2.
Рис. 2. Получение списка провайдеров
Как видно из рис. 2, операционная система предоставляет большое число (порядка тысячи) провайдеров информации для различных подсистем, использование которых позволяет собирать и анализировать различные аспекты работы как самой системы, так и процессов и приложений, выполняемых под ее управлением.
Для получения списка провайдеров информации только на уровне ядра (Kernel Mode Providers) можно выполнить следующую команду:
C:\>xperf –providers K
Результат выполнения данной команды показан на рис. 3.
Рис. 3. Получение списка Kernel Mode Providers
Флаги (Kernel Flags) отвечают за сбор информации об отдельных группах операций — например создание и удаление процессов, операции вводавывода и т.п. Группы (Kernel Groups) включают комбинации флагов и используются для анализа работы определенных подсистем. Для нашего первого эксперимента с утилитой XPerf мы выберем группу DiagEasy, которая содержит следующие флаги:
Описание этих флагов показано в таблице.
Выполним следующую команду для протоколирования событий на уровне ETW:
C:\>xperf –on DiagEasy
Эта команда начинает сбор данных в файл с именем “\kernel.etl”, который по умолчанию располагается в корне диска С:\. Можно изменить имя файла с помощью опции -f — это необходимо, например, при анализе операций вводавывода, чтобы создание и заполнение файла трассировки не вносило дополнительных помех (в таком случае нужно указать другой диск для хранения создаваемого файла). Подсистема протоколирования использует буфер с размером по умолчанию 64 Кбайт — минимально применяется 64 буфера, максимальное число одновременно используемых буферов — 320.
Запустим, например, Internet Explorer и откроем в нем какойнибудь сайт. После этого завершим протоколирование с помощью команды:
C:\>xperf –d trace.etl
Выполнение данной команды займет некоторое время (порядка 1-2 мин), так как системе требуется объединить данные, собранные ETW, с метаданными и другой информацией и сформировать соответствующий файл — в нашем примере это trace.etl. Теперь выполним команду:
В результате откроется окно Windows Performance Analyzer — утилиты для визуального анализа результатов, собранных с помощью утилиты XPerf. Аналогичный результат можно получить, выполнив команду:
Утилита Windows Performance Analyzer графически отображает собранную информацию в виде ряда экранов: CPU Usage by Process, Disk I/O, Disk Utilization, Process Lifetimes, DPC CPU Usage, Interrupt CPU Usage, Hard Faults, Generic Events и других, включением или отключением которых можно управлять из меню (рис. 4).
Рис. 4. Графический анализ информации
Выбор типов графиков осуществляется с помощью всплывающего меню Frame List, которое вызывается при нажатии кнопки в левой части экрана.
Если мы хотим получить информацию только по интересующему нас процессу, то на графике CPU Usage by Process необходимо выбрать кнопку Processes (в правой части графика) и процесс — в нашем примере это IEXPLORE.EXE.
Так мы получим график загрузки центрального процессора только интересующим нас приложением. Мы можем выбирать временные интервалы, увеличивать отдельные области графика, накладывать на него дополнительную информацию и т.п. (рис. 5).
Рис. 5. График загрузки центрального процессора
Отметим, что для каждого графика доступна таблица с суммарной информацией (щелкнуть правой кнопкой мыши на графике и выбрать команду Summary Table), содержащая числовую информацию, на основе которой был построен тот или иной график.
Давайте обсудим, что мы узнали из приведенного выше примера:
- сбор данных о событиях уровня ядра можно включать и отключать в любое время. Нет необходимости в перезагрузке системы, повторном подключении к ней, перезапуске процессов и т.п. — события уровня ядра, а также любые ETW-события могут использоваться динамически, по мере необходимости;
- в отличие от утилит, которые динамически отображают состояние системы, XPerf служит для сбора информации о событиях, произошедших на определенном отрезке времени, и ее последующего анализа;
- возможность сбора данных для их последующего анализа позволяет собирать данные на одном компьютере, а анализировать их — на другом, например в тестовой лаборатории или для сбора данных на Windows XP и их анализа на Windows Vista или Windows 7; это необходимо, так как обработка результатов не поддерживается в Windows XP;
XPerf позволяет собирать данные об активности на уровне как всей системы, так и отдельных процессов.
Получение информации о системе
Как мы уже отметили, часто информация, собранная на одном компьютере, анализируется на другом. Для получения информации о конфигурации системы нужно использовать следующую команду:
C:\> xperf –i trace.etl –a sysconfig
Вывод будет произведен в консоль. Если необходимо сохранить данные в файле, выполняется операция перенаправления вывода:
C:\> xperf –i trace.etl –a sysconfig >c:\analysis\sysconfig.txt
Пример фрагмента отображаемой информации показан на рис. 6.
Рис. 6. Получение информации о конфигурации системы
Используя Windows Performance Analyzer, информацию о конфигурации системы можно получить с помощью команды Trace → System Configuration (рис. 7).
Рис. 7. Информация о конфигурации системы
XPerf и визуализация стека
Одна из возможностей, чрезвычайно полезных при анализе работы приложений и их отладке, — это так называемая визуализация стека. Отметим, что эта функциональность не требует никаких изменений в коде. Всё, что необходимо, — это отладочные символы для анализируемых бинарных компонентов. Визуализация стека, декодирование символов и возможность сбора данных на любой системе без перезапуска процессов или самой операционной системы делают Windows Performance Analyzer удобным средством для диагностики широкого класса проблем, связанных с производительностью.
Для того чтобы воспользоваться функцией визуализации стека, необходимо загрузить отладочные символы для операционной системы (PDB-файлы), на которой проводится сбор информации о приложениях, процессах и т.п. Их можно либо загрузить с сайта по адресу: http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx и самостоятельно установить на локальном компьютере (по умолчанию символы устанавливаются в каталог c:\windows\symbols), либо использовать онлайновую загрузку со специального сервера компании Microsoft. И в том, и в другом случае необходимо указать местоположение отладочных символов с помощью переменной среды _NT_SYMBOL_PATH. Вот пример команды, устанавливающей значение этой переменной (команда должна быть введена одной строкой):
Адрес сайта, указанный в приведенной выше команде, — это «сервер символов» компании Microsoft. Адрес локальной папки, помещенный между символами «*», указывает на локальное хранилище символов, куда будут помещены загруженные с сервера символы.
При анализе собственных приложений также необходимо указать местоположение PDB-файлов для конкретного приложения. Адрес локальной/удаленной папки добавляется к приведенной выше команде set через разделитель «;»:
После того как мы научились загружать символы и указывать их местоположение, давайте посмотрим на визуализацию стека в действии. Для этого выполним следующую команду (команда должна быть введена одной строкой):
C:\>xperf –on PROC_THREAD+LOADER+INTERRUPT+DPC+PROFILE
Затем запустим интересующее нас приложение, выполним в нем необходимые операции и завершим сессию сбора информации командой:
C:\>xperf –d test.etl
После этого, как и в предыдущем примере, запустим Windows Performance Analyzer для визуального анализа собранной информации:
Визуализация стека включается на графике CPU Sampling by Process. Первая операция — это выполнение команды Load Symbols (в случае загрузки символьной информации с сервера выполнение этой команды может занять некоторое время), затем — команды Summary Table. В отдельном окне будут показаны результаты вызова функций — в данной версии XPerf поддерживается до 16 уровней вложенности.
Обратите внимание на возможность просмотра внутренних и внешних вызовов для каждой функции: после выбора интересующей функции необходимо нажать правую кнопку мыши и выбрать команду Callers или Callees и соответственно команду Innermost или Outermost. Данные для каждой команды будут отображены в отдельном окне, что удобно при анализе цепочек вызова внутри или вне определенной группы функций — как ядра операционной системы, так и анализируемого приложения.
Колонка %Weight указывает вызовы функций, на которые приходилось больше всего времени из всего времени работы данного процесса или приложения. Это более информативно, чем статическое профилирование с указанием времени работы каждой функции, так как в данном случае мы видим еще и цепочку вызовов функций (рис. 8).
Рис. 8. Визуализация стека
Еще одна интересная возможность — это анализ не всего стека вызовов, а только той его части, которая, например, занимала больше всего ресурсов. Для этого на графике CPU Sampling by Process необходимо выбрать интересующий нас временной период и перестроить для него таблицу вызовов с помощью команды Summary Table. Также отметим, что для сравнения можно выбрать несколько интервалов и анализировать их в одновременно открытых окнах.
Использование символьной информации для визуализации стека вызовов является мощным средством анализа работы процессов и приложения. Вот несколько рекомендаций по успешному применению этой возможности:
для загрузки символов необходимо использовать либо команду Load Symbols в Windows Performance Analyzer, либо параметр -symbols при вызове утилиты XPerf;
для получения информации о параметре -symbols применяйте команду:
C:\>xperf –help symbols
убедитесь в том, что правильно установлено значение переменной среды:_NT_SYMBOL_PATH;
файл трассировки должен быть либо создан с помощью опции -d, либо объединен с другими файлами трассировки на том же компьютере с помощью опции -merge;
важно, чтобы символы для компонентов операционной системы и приложения относились именно к установленной на компьютере версии. Для проверки используйте утилиту symchk.exe из набора утилит Debugging Tools for Windows:
для проверки соответствия двоичных файлов установленным на компьютере символам применяйте утилиту fc:
всегда указывайте, как минимум, флаги PROC_THREAD+LOADER — они позволяют собрать базовую информацию о жизненном цикле процесса и виртуальных адресах загрузки образов в память. Это нужно для того, чтобы убедиться в том, что события, связанные с процессами: Create, Delete, Start Rundown, End Rundown и образами Load, Unload, Start Rundown, End Rundown, присутствуют в таблице, получаемой с помощью следующей команды:
C:\> xperf -i имя_файла.etl -a tracestats -detail
Результат выполнения данной команды показан на рис. 9.