- Руководство. Средство vcperf и Windows Performance Analyzer Tutorial: vcperf and Windows Performance Analyzer
- Шаг 1. Установка и настройка Windows Performance Analyzer Step 1: Install and configure Windows Performance Analyzer
- Скачивание и установка WPA To download and install WPA
- Настройка WPA To configure WPA
- Шаг 2. Трассировка сборки с помощью vcperf.exe Step 2: Trace your build with vcperf.exe
- Важные примечания о vcperf.exe Important notes about vcperf.exe
- vcperf.exe — программа с открытым кодом vcperf.exe is open-source
- Шаг 3. Просмотр трассировки в Windows Performance Analyzer Step 3: View your trace in Windows Performance Analyzer
- Дополнительные сведения More information
- Как с помощью Windows Performance Analyzer определить скорость всех элементов автозагрузки в Windows 10
- Где Windows хранит отчеты о загружаемых процессах
- Анализируем логи в WPA
Руководство. Средство vcperf и Windows Performance Analyzer Tutorial: vcperf and Windows Performance Analyzer
Средства C++ Build Insights доступны в Visual Studio 2019. The C++ Build Insights tools are available in Visual Studio 2019. Чтобы отобразилась документация для этой версии, установите в этой статье селектор Версия Visual Studio в положение «Visual Studio 2019». To see the documentation for this version, set the Visual Studio Version selector control for this article to Visual Studio 2019. Он находится в верхней части оглавления на этой странице. It’s found at the top of the table of contents on this page.
В этом руководстве описано, как использовать vcperf.exe для сбора трассировки сборки C++. In this tutorial, you’ll learn how to use vcperf.exe to collect a trace of your C++ build. Вы также узнаете, как просматривать эту трассировку в Windows Performance Analyzer. You’ll also learn how to view this trace in Windows Performance Analyzer.
Шаг 1. Установка и настройка Windows Performance Analyzer Step 1: Install and configure Windows Performance Analyzer
Windows Performance Analyzer (WPA) — это средство просмотра трассировки из Комплекта средств для развертывания и оценки Windows (ADK). WPA is a trace viewer available in the Windows Assessment and Deployment Kit (ADK). Это отдельная служебная программа. Она не входит в число компонентов, которые можно установить с помощью установщика Visual Studio. It’s a separate utility that’s not part of the components you can install with the Visual Studio installer.
Версия WPA, которая поддерживает C++ Build Insights, в настоящее время доступна только в Windows ADK Insider Preview. A version of WPA that supports C++ Build Insights is currently only available in the Windows ADK Insider Preview. Для получения доступа к этой предварительной версии необходимо зарегистрироваться в программе предварительной оценки Windows. To access this preview, you must sign up for the Windows Insider program. Чтобы получить предварительную версию Windows ADK, не нужно устанавливать операционную систему Windows 10 Insider Preview. You don’t need to install the Windows 10 Insider Preview operating system to obtain the Windows ADK preview. Вам нужно только зарегистрировать учетную запись Майкрософт в программе предварительной оценки Windows. You only need to register your Microsoft account with the Windows Insider Program.
Скачивание и установка WPA To download and install WPA
Примечание. Для установки Windows Performance Analyzer требуется Windows 8 или более поздней версии. NOTE: Windows 8 or above is required for installing the Windows Performance Analyzer.
Перейдите на страницу для скачивания Windows ADK. Browse to the Windows ADK download page.
Скачайте и установите последнюю версию Windows ADK. Download and install the latest version of the Windows ADK.
При появлении запроса на выбор компонентов, которые нужно установить, выберите Windows Performance Toolkit. When prompted for the features that you want to install, select the Windows Performance Toolkit. При желании можете выбрать другие компоненты, но они не нужны для установки WPA. You may select other features if you wish, but they’re not required to install WPA.
Настройка WPA To configure WPA
Для просмотра трассировок C++ Build Insights в WPA требуется специальная надстройка. Viewing C++ Build Insights traces in WPA requires a special add-in. Чтобы установить ее, выполните следующие действия: Follow these steps to install it:
Получите надстройку, скачав один из приведенных ниже компонентов. Obtain the add-in by downloading one of the components below. Достаточно одного из них. You don’t need to get both. Выберите тот, который вам удобнее. Choose the one that you find most convenient.
Скопируйте файл perf_msvcbuildinsights.dll и вставьте в каталог установки WPA. Copy the perf_msvcbuildinsights.dll file into your WPA installation directory.
- В Visual Studio 2019 версии 16.6 и выше этот файл находится здесь: C:\Program Files (x86)\Microsoft Visual Studio\2019\
\VC\Tools\MSVC\ \bin\Host \ . In Visual Studio 2019 version 16.6 and above, this file is located here: C:\Program Files (x86)\Microsoft Visual Studio\2019\ \VC\Tools\MSVC\ \bin\Host \ . - В пакете NuGet для C++ Build Insights этот файл расположен здесь: wpa\
. In the C++ Build Insights NuGet package, this file is located here: wpa\ . - В приведенных выше путях замените переменные, заключенные в фигурные скобки, следующим образом: In the paths above, replace the variables surrounded by curly brackets as follows:
— это используемый вами выпуск Visual Studio 2019 (Community, Professional или Enterprise). is your Visual Studio 2019 edition such as Community, Professional, or Enterprise. — это версия MSVC. is your MSVC version. Выберите самую последнюю из доступных. Choose the highest one available. : выберите x64 , если вы используете 64-разрядную версию Windows. : choose x64 if you have a 64-bit version of Windows. В противном случае выберите x86 . Otherwise, choose x86 .
- Как правило, каталог установки WPA размещен здесь: C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit . The WPA installation directory is typically: C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit .
В каталоге установки WPA откройте файл perfcore.ini и добавьте запись для perf_msvcbuildinsights.dll . In your WPA installation directory, open the perfcore.ini file and add an entry for perf_msvcbuildinsights.dll .
Шаг 2. Трассировка сборки с помощью vcperf.exe Step 2: Trace your build with vcperf.exe
Чтобы просмотреть данные C++ Build Insights, сначала соберите их в файл трассировки, выполнив следующие действия: To view C++ Build Insights data, first collect it into a trace file by following these steps:
Откройте командную строку Native Tools x86 или x64 для VS 2019 в режиме администратора. Open an x64 or x86 Native Tools Command Prompt for VS 2019 in administrator mode. (Щелкните правой кнопкой мыши пункт меню «Пуск» и выберите Еще > Запуск от имени администратора.) (Right-click the Start menu item and choose More > Run as administrator.)
- Выберите x64 , если вы используете 64-разрядную версию Windows. Choose x64 if you have a 64-bit version of Windows. В противном случае выберите x86. Otherwise, choose x86.
В окне командной строки введите следующую команду: In the command prompt window, enter this command:
vcperf.exe /start SessionName vcperf.exe /start SessionName
Вместо SessionName выберите понятное имя сеанса. Choose a session name you’ll remember for SessionName.
Выполните сборку проекта обычным образом. Build your project as you normally would. Для сборки не обязательно использовать то же окно командной строки. You don’t need to use the same command prompt window to build.
В окне командной строки введите следующую команду: In the command prompt window, enter this command:
vcperf.exe /stop SessionName traceFile.etl vcperf.exe /stop SessionName traceFile.etl
Используйте то же имя сеанса, которое выбрали для SessionName. Use the same session name you chose for SessionName before. Выберите подходящее имя для файла трассировки traceFile.etl. Choose an appropriate name for the traceFile.etl trace file.
Вот как выглядит типичная последовательность команд vcperf.exe в окне командной строки разработчика: Here’s what a typical vcperf.exe command sequence looks like in a developer command prompt window:
Важные примечания о vcperf.exe Important notes about vcperf.exe
Для запуска и остановки трассировки vcperf.exe требуются права администратора. Administrator privileges are required to start or stop a vcperf.exe trace. Используйте окно командной строки разработчика, которое открывается с помощью команды Запуск от имени администратора. Use a developer command prompt window that you open by using Run as administrator.
На компьютере может выполняться только один сеанс трассировки. Only one tracing session at a time may run on a machine.
Обязательно запомните имя сеанса, использованное вами для запуска трассировки. Make sure to remember the session name you used to start your trace. Остановить сеанс, имя которого неизвестно, может быть сложно. It can be troublesome to stop a running session without knowing its name.
Так же, как cl.exe и link.exe , служебная программа командной строки vcperf.exe включена в комплект установки MSVC. Just like cl.exe and link.exe , the command-line utility vcperf.exe is included in an MSVC installation. Для получения этого компонента никаких дополнительных действий не требуется. No additional steps are required to obtain this component.
vcperf.exe собирает сведения о всех инструментах MSVC, запущенных в системе. vcperf.exe collects information about all MSVC tools running on your system. Поэтому вам не обязательно запускать процесс сборки с помощью той же командной строки, которая использовалась для сбора трассировки. As a result, you don’t have to start your build from the same command prompt you used to collect the trace. Сборку проекта можно выполнить из другой командной строки или даже в Visual Studio. You can build your project from either a different command prompt, or even in Visual Studio.
vcperf.exe — программа с открытым кодом vcperf.exe is open-source
Если вы хотите выполнить сборку собственной версии vcperf.exe и использовать ее, клонируйте эту программу из репозитория GitHub vcperf. If you wish to build and run your own version of vcperf.exe , feel free to clone it from the vcperf GitHub repository.
Шаг 3. Просмотр трассировки в Windows Performance Analyzer Step 3: View your trace in Windows Performance Analyzer
Запустите WPA и откройте журнал только что собранной трассировки. Launch WPA and open the trace you just collected. WPA должен распознать ее как трассировку C++ Build Insights. На панели обозревателя графов слева должны отображаться следующие представления: WPA should recognize it as a C++ Build Insights trace, and the following views should appear in the Graph Explorer panel on the left:
- Обозреватель сборок Build Explorer
- Файлы Files
- Функции Functions
- Создание экземпляров шаблонов Template Instantiations
Если эти представления не отображаются, убедитесь, что WPA настроен правильно, как описано на шаге 1. If you can’t see these views, double-check that WPA is configured correctly, as described in Step 1. Вы можете просмотреть данные сборок, перетащив представления в пустое окно анализа справа, как показано ниже: You can view your build data by dragging the views into the empty Analysis window on the right, as shown here:
Другие представления доступны на панели обозревателя графов. Other views are available in the Graph Explorer panel. Перетащите их в окно «Анализ», чтобы подробнее изучить информацию, которую они содержат. Drag them into the Analysis window when you’re interested in the information they contain. Полезным является представление CPU (Sampled) (ЦП, выборка), в котором показана загрузка ЦП во время сборки. A useful one is the CPU (Sampled) view, which shows CPU utilization throughout your build.
Дополнительные сведения More information
Учебник. Основы использования Windows Performance Analyzer Tutorial: Windows Performance Analyzer basics
Сведения об распространенных операциях WPA, которые могут помочь при анализе трассировок сборки. Learn about common WPA operations that can help you analyze your build traces.
Справочник: команды vcperf Reference: vcperf commands
В справочнике по командам vcperf.exe перечислены все доступные параметры команд. The vcperf.exe command reference lists all the available command options.
Общие сведения Представления Windows Performance Analyzer Reference: Windows Performance Analyzer views
В этой статье приведены подробные сведения о представлениях C++ Build Insights в WPA. Refer to this article for details about the C++ Build Insights views in WPA.
Windows Performance Analyzer Windows Performance Analyzer
Официальный сайт документации по WPA. The official WPA documentation site.
Как с помощью Windows Performance Analyzer определить скорость всех элементов автозагрузки в Windows 10
Для достижения лучшей производительности Windows очень часто рекомендуют выполнить очистку системы от устаревших файлов. В действительности эта процедура практически не влияет на скорость работы операционной системы, поскольку временные файлы обычно ею не задействуются. Если на что и нужно обращать внимание в первую очередь, так это на автозагружаемые приложения и процессы, именно они оказывают непосредственное влияние на производительность Windows и время ее загрузки.
Существует много программ, предназначенных для выявления «тормозящих» приложений, но ни одна из них не может заменить Windows Performance Analyzer или сокращенно WPA — мощный профессиональный инструмент администрирования, позволяющий определять время загрузки всех и взятых по отдельности процессов с точностью до доли миллисекунды. Единственный его существенный недостаток — сложность освоения, как никак ориентирован Performance Analyzer на системных администраторов.
Когда в окне мастера появится предложение выбрать компоненты для установки, отметьте галочкой пункт «Набор средств для оценки производительности Windows».
Установку остальных компонентов можно проигнорировать, чтобы не занимали на диске место.
Где Windows хранит отчеты о загружаемых процессах
Идентифицировать загружаемые вместе с Windows программы нетрудно. Для этого можно воспользоваться любой утилитой для анализа автозагрузки или даже штатным Диспетчером задач, кстати, умеющим показывать степень влияния той или иной программы на скорость загрузки операционной системы.
Но в данном случае нас больше интересуют файлы BootCKCL.elt и ShutdownCKCL.etl , расположенные в системной папке C:\Windows\System32\wdi\LogFiles , именно в них Windows записывает сведения о запускаемых процессах, а также загруженности диска и процессора.
Анализируем логи в WPA
Содержащаяся в логе BootCKCL.elt информация представлена в бинарном формате, но Windows Performance Analyzer может ее расшифровать и прочитать. Запустите WPA , перейдите в меню File и укажите путь к этому самому файлу BootCKCL.elt .
При этом в левой колонке рабочего окна утилиты у вас появятся графики. С ними мы как раз и будем работать. Нажатием на стрелку-треугольник разверните элемент Computation, в раскрывшемся списке найдите график «CPU Usage (Precise)» и перетащите его мышкой на вкладку «Analysis» — серое поле в правой части рабочего окна.
В результате в этой части окна появится три таблицы. Кликните ПКМ по любому из заголовков содержащей список запущенных в системе процессов нижней таблицы и отметьте галочкой в открывшемся контекстном меню пункт «CPU Usage (in view)».
Отмеченный столбец тут же появится в таблице.
Теперь в столбце «New Process» выделите мышкой программы, скорость загрузки которых хотите измерить, кликом ПКМ вызовите контекстное меню и выберите в нем «Filter To Sеlеction».
В списке процессов останутся только нужные.
Теперь смотрим, что из всего этого получилось. Данные в столбце «CPU Usage (in view)» представлены временем загрузки каждой программы в миллисекундах. Например, Download Master загружается 4620,797806 миллисекунд (4,62 секунды) и это много, так как средней степенью влияния считается время автозагрузки не более 1000 миллисекунд.
Теперь откройте еще одну вкладку «Analysis» и перетащите на нее график «Lifetime by Process». Точно так же выделите интересующие вас процессы и отфильтруйте их из контекстного меню. Обратите внимание на данные столбца «Start Time (s)».
Он содержит время в секундах, через которое приложение начинает запускаться сразу после загрузки основных процессов операционной системы. Если время загрузки программы очень мало (1-2 секунды) , это может означать, что программа стартует вместе с основными процессами Windows, тормозя ее загрузку. В этом случае имеет смысл отложить автозагрузку такого приложения, воспользовавшись твиками реестра или утилитой AnVir Task Manager.
Примечание: в Windows 8.1 и 10 с целью ускорения загрузки разработчики снизили влияние сторонних приложений на запуск операционной системы, тем не менее, вы можете отсрочить их загрузку, если считаете, что они тормозят запуск системы.