7

Я поражен, когда я нажимаю на приложение в Windows, и мне приходится ждать 10 секунд, чтобы оно ответило. Интересно, «вы можете выполнять 16 миллиардов инструкций в секунду, что вы делаете, что не дает вам реагировать на мой щелчок мышью». Из-за этого мне было бы интересно собрать идеи о том, как разработать приложение, которое могло бы диагностировать такого рода проблемы. Я не эксперт по Windows, и мне интересно, какие методы предложат другие. Вот что я хотел бы в идеале сделать:

Распознавать любые приложения, драйверы или состояния операционной системы (например, часто обвиняемый реестр), которые замедляют работу системы и привлекают внимание пользователя. Некоторые из них могут быть получены с использованием счетчиков производительности, другие аспекты, в которых я менее уверен. Я был бы склонен использовать методы машинного обучения, чтобы определить, перегружена ли система, и помочь определить виновника (это выполнимо, пока я могу выдумывать примеры, воссоздающие основные источники проблем, а также собирать достаточно данных для быть в состоянии определить виновника).

3 ответа3

8

Попробуйте бесплатный набор инструментов Microsoft SysInternals: множество инструментов для профилирования. Взгляните на: http://technet.microsoft.com/en-us/sysinternals/default.aspx

Обновить:

Вы также должны учитывать, какой Internet Security/ Антивирус вы установили и используете в своей системе. Это, как мы надеемся, окажет небольшое, но значительное влияние на производительность вашей системы. Вы можете настроить параметры на этом, одним из основных, который будет иметь значительную активность, является фоновое сканирование. Я использовал AVG, McAfee и Norton, и Norton обеспечивает наиболее прозрачное представление о том, что он делает, поскольку у него есть собственный менеджер задач и график использования ресурсов с течением времени. Я не работаю ни на кого из них, но я бы порекомендовал Norton вместо McAfee, поскольку McAfee иногда загадочно периодически сильно замедлял мою машину на минуту или около того.

Обновление 2:

Вы сказали:

«Вы можете запускать 16 миллиардов инструкций в секунду, что вы делаете, что мешает вам реагировать на мой щелчок мыши».

Просто еще один комментарий. Вычислительная активность может быть описана как подразделяющаяся на 2 вида: с привязкой к вычислениям и с вводом-выводом. Привязка к вычислениям - это то, где активность в основном или все вычисления, а привязка ввода-вывода - это то, где активность в основном или полностью связана с доступом к устройствам ввода-вывода, таким как жесткие диски, другие периферийные устройства, такие как сеть. Полезные действия редко бывают тем или иным, так как вы не можете просто сделать IO, не используя compute, чтобы сделать его полезным, и если у вас нет IO, тогда вам нечего вычислять. В вашем случае может показаться, что действия включают компонент ввода-вывода - доступ к жесткому диску, который является самым медленным компонентом.

Обновление 3: Re:McAfee, время от времени возникающая проблема с загрузкой ЦП, похоже, что у Norton есть своя собственная версия этого, к моему недавнему открытию, хотя я не вижу такой вещи, как у меня с McAfee. Цепь работы ЦП Norton обсуждается здесь: http://community.norton.com/t5/Norton-Internet-Security-Norton/ccsvchst-exe-cpu-usage-Issue/mp/2888 «Проблема с использованием процессора ccsvchst.exe». Так думал, что я бы упомянул, чтобы обеспечить сбалансированное мнение. Тем не менее, я бы по-прежнему рекомендовал Norton, так как по моему опыту моя версия показывает подробную статистику использования ресурсов, которая поможет объяснить исходный вопрос, если вы установите его.

3

Попробуйте инструмент Process Monitor, если вы хотите увидеть, что весь процесс делает при запуске. И, к сведению, большая часть "ожидания" в эти дни приходится на жесткий диск - улучшения процессора и памяти быстро опережают скорость, с которой жесткие диски становятся быстрее. Если вы откроете Диспетчер задач, а затем просмотрите его во время запуска программы, вы увидите, сколько ЦП фактически используется - если CPU не достигнет 100% и не выполнит привязку, то ЦП будет бездействовать, пока жесткий диск пытается кормить это информацией.

2

Чтобы ответить на заголовок вопроса "Профилирование операционной системы Windows", я предлагаю попробовать Windows Performance Toolkit V5.0 от Microsoft, который включает WPR (Windows Performance Recorder) и WPA (Windows Performance Analyzer).

Он включен в Windows ADK.
Работает с Windows 7 и более поздними версиями.


Дополнительные отправные точки:

  • Resource Monitor (resmon.exe) - включен в Windows Vista (и более поздние версии).
  • Microsoft Sysinternals имеет различные инструменты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .