1

Я много слышал об этих новых возможностях изучения проблем процессора и памяти с использованием новых инструментов диагностики в Visual Studio 2015 и Intellitrace. Предположим, мне нужно устранить проблему с высокой памятью или процессором в рабочей среде. Я знаю, что я могу собирать файлы iTrace из рабочей среды, но может ли это быть полезным вообще для определения причины высокой памяти/процессора? До сих пор все случаи использования, которые я видел для Intellitrace, связаны с нежелательными поведением, такими как исключения и т. Д., Но я хотел бы видеть любой учебник для использования intellitrace для проблем с производственной памятью/процессором.Is Intellitrace полезен для расследования нежелательных проблем с использованием памяти/процессора в производственной среде

ответ

1

Это правда, что вы можете использовать Standalone коллектор для записи IntelliTrace журналов в производственной среде. Однако эти журналы не будут содержать никакой информации об использовании процессора/памяти (фактически iTrace файлы содержат только информацию о вызовах методов).

Это означает, что если вы открыли файл, записанный в рабочей среде в Visual Studio, вы увидите только список зарегистрированных диагностических событий и дерева вызовов (если IntelliTrace был настроен для сбора информации о вызове). Диагностический инструмент Окно не будет доступно. Если вы попытаетесь открыть его, появится следующее сообщение об ошибке:

Окно «Диагностические инструменты» не поддерживает текущую конфигурацию отладки.

Если вы хотите использовать с Visual Studio, 2015 Средства диагностики анализа использования процессора/памяти в производстве вы можете быть заинтересованы в Using the Profiling Tools from Command-line. Тем не менее, я не пробовал этот подход, поэтому я не знаю, удобно ли это. Вторая проблема может заключаться в лицензировании. Я не уверен, что эти инструменты командной строки можно использовать без установки VS.

0

Я рекомендую установить remote debugging для целевой машины с производственной средой. Вам не нужно устанавливать Visual Studio на цель, но вам нужно установить Remote Tools. При отладке вы можете использовать инструменты CPU Usage и Memory Usage.

В дополнение к this answer Я хотел бы добавить, что: 1) Using the Profiling Tools from Command-line относится к интерфейсу командной строки для мастера производительности инструмента в Performance and Diagnostics Hub и Usage Использование процессора и памяти инструменты не имеют интерфейс командной строки на данный момент; 2) вы установили do not need для установки Visual Studio IDE для использования профилирующих инструментов из командной строки.

+0

Это в центре обработки данных клиента с очень ограниченным доступом. Я могу собирать файлы дампа, у меня могут быть клиенты, работающие с PerfView, но настройка удаленной отладки пугает этих людей в ад :) Я ищу неинвазивные методы. – BKS

+0

Возможно, лучше всего попытаться воспроизвести проблему на вашей стороне, тогда у вас будет полный доступ к окружающей среде;) Но я понимаю, что это не всегда возможно. – SvenS

0

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

Можно создать метод манекена, который ничего не делает, что вы запускаете внутри подозрительного кода и задаете ему некоторые параметры строки или int. Они будут захвачены в IntelliTrace, чтобы вы могли отслеживать значения perf, cpu etc и т. Д. В журнале intellitrace.