Профилирование вашей операционной системы Windows

3724
John Robertson

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

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

7
Купить больше оперативной памяти ... 13 лет назад 1
Тогда как мне хватило оперативной памяти 6 месяцев назад? :) Я, конечно, шучу, но если задержка действительно заключается в том, что она была разбита на страницы, я хочу, чтобы стало ясно, что причиной задержки является не подкачка страниц, а также понятно, что израсходовало мою оперативную память, которая не занимала 6 месяцев. ранее. 13 лет назад 0
@ Джон, Может быть, у вас есть больше программ, пожирающих вашу оперативную память? 10-секундное время переключения приложений, как правило, связано с тем, что ваше приложение выгружается, следовательно, из-за нехватки ОЗУ или из-за того, что многие другие программы занимают вашу ОЗУ. Почему ваша машина такая, к сожалению, это не вопрос программирования. Голосование за близких (по теме). 13 лет назад 0

3 ответа на вопрос

8
therobyouknow

Попробуйте бесплатный набор инструментов 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, так как по моему опыту моя версия показывает подробную статистику использования ресурсов, которая поможет объяснить исходный вопрос, если вы установите его.

Оба антивирусных программного обеспечения являются свиньями. Иди с MSE. surfasb 12 лет назад 0
@surfasb MSE? Вы имеете в виду Microsoft Essentials? Справедливо. Я надеюсь, что это эффективно. С установленным Norton я получаю хорошую производительность благодаря моей 1,6 ГГц * atom * 2 ГБ оперативной памяти нетбука Toshiba NB100 под управлением XP --AND - весь диск зашифрован с помощью truecrypt. В предустановленных окнах обычно много пробной версии - если вы получаете подлинный OEM, переустанавливаете CD / DVD с ebay и меняете ключ на действительный, то у вас есть хорошая чистая установка. therobyouknow 12 лет назад 0
Да, основы Microsoft - это путь. Вы получаете обновления через Центр обновления Windows. И это довольно безопасно даже против хуков ядра. Хотя это иронично. Microsoft хотела распространить этот продукт через Центр обновления Windows, особенно для пользователей, у которых нет антивируса. Но они получили угрозы судебных исков, поэтому им пришлось отказаться от этой идеи. Это было бы заголовком: «Micorosoft предъявляют иск, пытаясь сделать их ОС более безопасными ...» http://arstechnica.com/microsoft/news/2010/05/microsoft-mse-safe-from-windows-kernel- крюк-attack.ars surfasb 12 лет назад 0
3
Darth Android

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

+1 за более конкретный ответ из набора sysinternals, также проголосовавший из-за комментария жесткого диска. В любой системе - компьютере, химической реакции, деловой активности и т. Д. - самая медленная часть всегда будет оказывать наибольшее влияние на общую продолжительность процесса. Повторим другие комментарии: добавление ОЗУ будет означать меньшее время, затрачиваемое на обращение к жесткому диску для извлечения временных данных и программы и вместо этого к быстродействующей микросхеме ОЗУ. therobyouknow 13 лет назад 1
2
paulgutten

Чтобы ответить на заголовок вопроса «Профилирование операционной системы 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 имеет различные инструменты.