Тарифы Услуги Сим-карты

Загрузка цп 100 что делать windows 10. Как контролировать процесс загрузки процессора

Одна из самых распространенных причин, по которым тормозит компьютер — это загрузка процессора, причем, иногда непонятными приложениями и процессами.

Не так давно на одном компьютере знакомого пришлось столкнуться с «непонятной» загрузкой ЦП, которая порой доходила до 100%, хотя никаких программ, которые могли бы так загрузить его, открыто не было (кстати, процессор был достаточно современный Intel inside Core i3). Проблему удалось решить переустановкой системы и установкой новых драйверов (но об этом далее…).

Собственно, решил что подобная проблема достаточно популярна и будет интересна широкому кругу пользователей. В статье приведу рекомендации, благодаря которым можно самостоятельно разобраться почему процессор загружен, и как снизить нагрузку на него. И так…

Чтобы узнать на сколько процентов загружен процессор — откройте диспетчер задач Windows.

Кнопки: Ctrl+Shift+Esc (или Ctrl+Alt+Del) .

Кстати , очень часто проблема возникает следующего плана: работали вы, например, в Adobe Photoshop, затем закрыли программу, а она в процессах осталась (либо с некоторыми играми так постоянно происходит). В результате ресурсы они «кушают», причем не малые. Из-за этого компьютер начинает тормозить. Поэтому очень часто первая рекомендация в таких случаях — перезагрузить ПК (т.к. в этом случае такие приложения будут закрыты), ну или зайти в диспетчер задач и снять такой процесс.

Важно! Особое внимание обратите на подозрительные процессы: которые сильно грузят процессор (более 20%, а вы не видели никогда подобный процесс ранее). Более подробно о подозрительных процессах была не так давно статья:

При настройке одного из компьютеров столкнулся с непонятной загрузкой ЦП — нагрузка есть, процессов нет! Ниже на скриншоте показано, как это выглядит в диспетчере задач.

С одной стороны удивительно: включена галочка «Отображать процессы всех пользователей», среди процессов ничего нет, а загрузка ПК прыгает 16-30%!

Чтобы увидеть все процессы , которые грузят ПК — запустите бесплатную утилиту Process Explorer . Далее отсортируйте все процессы по нагрузке (столбик CPU) и посмотрите, нет ли там подозрительных «элементов» (некоторые процессы диспетчер задач не показывает, в отличие от Process Explorer ).

В моем случае виновником оказались системные прерывания (Hardware interrupts and DPCs). Кстати, скажу, что исправить порой загрузку ПК, связанную с ними — дело достаточно хлопотное и сложное (к тому, иногда они могут грузить процессор не только на 30%, но и на все 100%!).

Дело в том, что ЦП грузится из-за них в нескольких случаях: проблемы с драйверами; вирусы; жесткий диск работает не в режиме DMA, а в режиме PIO; проблемы с периферийным оборудованием (например, принтер, сканер, сетевые карты, флэш и HDD накоптели и т.д.).

1. Проблемы с драйверами

Самая частая причина загрузки ЦП системными прерываниями. Рекомендую сделать следующее: загрузить ПК в безопасном режиме и посмотреть нет ли нагрузки на процессор: если ее нет — очень высока причина именно в драйверах! Вообще, самый простой и быстрый способ в этом случае — это переустановить систему Windows и затем устанавливать по одному драйверу и смотреть, не появилась ли загрузка ЦП (как только появиться — вы нашли виновника).

Чаще всего виной здесь сетевые карты + универсальные драйвера от Microsoft, которые устанавливаются сразу при установке Windows (извиняюсь за тавтологию). Рекомендую скачать и обновить все драйвера с официального сайта производителя вашего ноутбука/компьютера.

— установка Windows 7 с флешки

— обновление и поиск драйвера

2. Вирусы

Думаю, особо распространяться не стоит, что может быть из-за вирусов: удаление файлов и папок с диска, кража персональной информации, загрузка ЦП, различные рекламные баннеры поверх рабочего стола и т.д.

Здесь ничего нового не скажу — установите современный антивирус на ПК:

Плюс иногда проверяйте компьютер сторонними программами (которые ищут рекламные модули adware, mailware и пр.): о них подробно здесь.

3. Режим работы жесткого диска

Режим работы HDD так же может сказаться на загрузке и быстродействии ПК. Вообще, если жесткий диск работает не в режиме DMA, а в режиме PIO — вы сразу это заметите жуткими «тормозами»!

Как это проверить? Чтобы не повторяться, см. статью: 3__HDD_-_PIODMA

4. Проблемы с периферийным оборудованием

Отключите все от ноутбука или ПК, оставьте самый минимум (мышка, клавиатура, монитор). Так же рекомендую обратить внимание на диспетчер устройств, не будет ли в нем установленных устройств с желтыми или красными значками (это означает либо нет драйверов, либо они работают неправильно).

Как открыть диспетчер устройств? Самый простой способ — открыть панель управления Windows и вбить в поисковую строку слово «диспетчер». См. скриншот ниже.

3. Вопрос №3 — причиной загрузки процессора может быть перегрев и пыль?!

Причиной, по которому процессор может быть загружен и компьютер начнет тормозить — может быть его перегрев. Обычно, характерные признаки перегрева, такие:

  • усиление гула кулера: количество оборотов в минуту растет из-за этого шум от него все сильнее. Ели у вас ноутбук: то проведя рукой рядом с левой стороной (обычно там организован на ноутбуках выход горячего воздуха) — вы сможете заметить, насколько воздух сильно выдувается и насколько он горячий. Иногда — рука не терпит (это не есть хорошо)!
  • торможение и замедление работы компьютера (ноутбука);
  • отказ загружаться с ошибками сообщающими сбои в системе охлаждения и т.д.

Узнать температуру процессора, можно используя спец. программы (о них более подробно тут: .

Например, в программе AIDA 64, чтобы посмотреть температуру процессора, нужно открыть вкладку «Компьютер/датчик».

Как узнать какая температура для вашего процессора критическая, а какая нормальная?

Самый простой способ — посмотреть сайт производителя, там всегда указывается эта информация. Довольно сложно дать общие цифры на разные модели процессоров.

Вообще, в среднем, если температура работы процессора не выше 40 гр. Ц. — то все нормально. Выше 50гр. Ц. — может указывать на проблемы в системе охлаждения (например, обилие пыли). Впрочем, для некоторых моделей процессоров такая температура — обычная рабочая. Особенно это относится к ноутбукам, где из-за ограниченного пространства сложно организовать хорошую систему охлаждения. К слову сказать, на ноутбуках и 70 гр. Ц. — может быть нормальной температурой при нагрузке.

Подробнее о температуре процессора:

Чистка от пыли: когда, как и сколько раз?

Вообще, чистить от пыли компьютер или ноутбук желательно 1-2 раза в год (хотя многое зависит от вашего помещения, у кого-то пыли больше, у кого-то меньше…). Раз в 3-4 года желательно еще заменить термопасту. И та и другая операция ничего сложного из себя не представляет и ее можно выполнять и самостоятельно.

Чтобы не повторяться, приведу пару ссылок ниже…

Как почистить компьютер от пыли и заменить термопасту:

В процессе работы компьютера могут происходить самые разные неприятности, но при этом далеко не все пользователи знают, как их устранить. Одной из наиболее распространенных проблем является загрузка ЦП 100%, когда компьютер в буквальном смысле загружен «под завязку» и перестает нормально функционировать.

В чем проблема?

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

В первую очередь, следует уточнить, насколько мощный у вас процессор. Если вы покупали относительно дешевый компьютер, еще и довольно давно, то в таком случае может быть и так, что он просто не тянет какие-то ресурсоемкие приложения, и здесь не стоит даже долго думать, почему загрузка ЦП 100 процентов. Что делать в такой ситуации? Остается только обновить свой ПК, если вам действительно нужны какие-то ресурсоемкие приложения или современные игры.

Но такие ситуации зачастую единичны, и главная причина чаще всего кроется в другом.

Что еще может быть?

Если вы не знаете, что делать, если ЦП загружен на 100%, попробуйте сделать следующее:

  1. Откройте «Диспетчер задач».
  2. Нажмите вкладку «Процессы».
  3. Отфильтруйте все процессы по параметру «ЦП».
  4. Посмотрите, какие из них потребляют больше всего мощности вашего процессора и, если есть возможность, отключите их.

Чаще всего причиной такой серьезной загрузки становятся всевозможные браузеры наподобие Google Chrome, в которых каждой отдельной вкладке уделяется свой процесс, и поэтому создается серьезная нагрузка на компьютер. Поэтому, если вы ищите, как уменьшить ЦП-загрузку для запуска каких-нибудь игр или программ, просто закройте все остальное перед их активацией.

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

Одной из многочисленных неприятностей, с которыми приходится сталкиваться пользователям Windows, является загрузка ЦП на 100 процентов. При такой высокой нагрузке операционная система крайне медленно отзывается на команды и работать с ней становится как минимум некомфортно. Проблем, которые приводят к подобному поведению не так много, а методы их решения достаточны просты.

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

Диспетчер задач Windows 7

Итак, давайте посмотрим, что делать в Windows 7, столкнувшись с такой проблемой. Microsoft дает нам в руки полноценный инструмент управления процессами ОС. Чтобы им воспользоваться, достаточно вызвать контекстное меню на панели задач.

Выбираем отмеченный на скриншоте пункт, чтобы запустить диспетчер.

Открываем пункт «Вид» в верхнем меню и переходим к отмеченной позиции.

Чтобы быстро вычислить «виновника», отмечаем галочками указанные пункты. Теперь наш диспетчер готов к применению. Параметры окна запоминаются, поэтому в следующий раз дополнительных настроек не потребуется.

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

Подтверждаете свои действия, и потребляющая ресурсы программа перестает работать. Таким простым способом можно быстро уменьшить загрузку ЦП в Windows 7.

Диспетчер задач Windows 10

В последней версии ОС Microsoft расширила возможности диспетчера задач. В него добавили полезный инструмент, поработав с которым можно уменьшить загрузку ЦП в Windows 10.

Используем обозначенную вкладку «Автозагрузка», чтобы навести порядок в приложениях, стартующих вместе с операционной системой и снизить загрузку ЦП. У некоторых пользователей в этом месте можно найти настоящий «зоопарк» из программ. При этом более половины из автоматически запускаемого ПО в дальнейшем не используется. Для примера, отключим сервис OneDrive. Мало кто хранит в нем информацию, а влияние его система определяет как высокое. Таким образом, можно сделать меньше загруженность ЦП в Windows 10 на постоянной основе. Отключенный сервис не будет стартовать при запуске и отнимать вычислительные ресурсы.

Заражение системы

Большая загрузка ЦП может являться прямым следствием поражения системы вредоносным продуктом. Сразу дает о себе знать только вирус-вымогатель. Наиболее интересные представители этой «фауны» будут использовать компьютер в своих целях. Вариантов может быть достаточно много, от банальной рассылки спама до участия в бот-сети и модном в последнее время майнинге криптовалют. В результате процессор постоянно загружен выполнением несанкционированных пользователем действий.

Не каждый такой «гость» может быть своевременно обнаружен антивирусной программой. В этом случае на помощь может прийти здоровая подозрительность и утилиты, позволяющие получить исчерпывающую информацию о процессах, происходящих в системе. Диспетчер задач может показать такую информацию, но разобраться в ней не так просто. К примеру, наличие в работающей ОС дюжины процессов svchost считается нормой при условии, что запущены они от имени системы.

На скриншоте показана работа утилиты Process Explorer, отсылки к которой даются даже службой технической поддержки Microsoft. Все процессы выведены в виде древовидной структуры с показом взаимных зависимостей. При ее использовании шансы выявить маскирующийся вредоносный процесс есть у любого внимательного пользователя.

Загрузка процессора 100 процентов на Windows 10 или 7 может быть и следствием обратного процесса. Излишне беспокоящийся о безопасности владелец ПК устанавливает несколько антивирусных программ, которые начинают конфликтовать, используя для этого все доступные ресурсы.

Системные службы

При обновлении до Windows 10 проблемы пользователям может доставлять процесс Modern Setup Host. Эта системная служба отвечает за обновление со старых операционных систем. При этом на системном диске создается полная копия существующей ОС, чтобы обеспечить возможность «отката» изменений. Средний ее размер составляет порядка 20 Гб и при отсутствии этого пространства служба должна прервать обновление. В ряде случаев ее неправильная работа может привести к зависанию процесса и росту нагрузки на ЦП. Решается проблема ручным освобождением необходимого пространства.

Если компьютер не подключен к интернету, понизить загрузку ЦП на «Виндовс» 7 или 10 можно отключением неиспользуемых служб. Операционная система по умолчанию запускает сервисы, связанные с работой в сети. К примеру, на локальном компьютере не нужна служба автоматического обновления. Ее работа при отсутствии интернет-подключения также способна привести к неконтролируемому росту нагрузки.

В заключение

Подавляющее большинство случаев, связанных с повышенной загрузкой ЦП, зависят от программного обеспечения. Старайтесь не смешивать рабочую и игровую конфигурацию, превращая компьютер в «полигон» для тестирования. Выверенный набор необходимых программ позволяет обеспечивать стабильность ОС и избежать ненужных сбоев.

Инструкция

Выключите программу, которая запустила этот процесс. Нажмите на кнопку закрытия программы или командой «Выход» из меню. Попробуйте в «Диспетчере задач», если программа . Если и это не сработало, завершите процесс в «Диспетчере задач». Будьте внимательны, завершать следует только процессы пользователя, ни в коем случае служебные процессы.

Обратитесь к специалисту, если проблемы с процессором возникают неоднократно.

Источники:

  • как уменьшить загрузку цп в 7

Каждый раз при загрузке операционной системы автоматически запускается утилита Chkdsk. Эта утилита сканирует ваш жесткий диск на наличие ошибок, возможных сбоев в работе файловой системы. Конечно, ничего плохого в этом нет, но скорость загрузки системы при этом снижается. Между тем эту процедуру можно отключить, тем самым повысив скорость загрузки ОС.

Вам понадобится

  • - компьютер с ОС Windows.

Инструкция

Для отключения сканирования системного диска проделайте следующие шаги. Нажмите «Пуск». Выберите «Все программы», затем - «Стандартные программы». Среди стандартных программ есть «Командная строка». Запустите ее.

Дальше в командной строке введите Chkntfs /X C, где С является буквой системного диска. Если ваш системный диск имеет другую букву, то, соответственно, ее и нужно прописать. После ввода команды нажмите клавишу Enter. Закройте командную строку. Теперь автоматическая проверка системного раздела отключена. Таким же способом можно отключить автоматическую проверку других разделов жесткого диска. Просто в конце команды следует написать букву раздела винчестера, для которого вы хотите отключить сканирование.

Еще один способ отключить проверку - это отредактировать ветку системного реестра. В командной строке введите regedit. Через секунду запустится окно редактора реестра. В его левой части находится список главных разделов системного реестра. Найдите среди них раздел HKEY_LOCAL_MACHINE.

Кликните по стрелочке, которая находится напротив названия этого раздела. Повторите процедуру возле подраздела SYSTEM. Таким образом открывайте разделы в таком порядке: CurrentControlSet/Control/Session Manager. Session Manager открывать не нужно, выделите его с помощью левого щелчка мышки.

После выделения последнего раздела в правом окне будут доступны ветки для редактирования. Найдите среди них ветку под названием BootExecute. Щелкните по ней дважды левой кнопкой мышки. Теперь ее можно отредактировать. Все, что вам нужно, - это перед звездочкой добавить параметр /K:C. В конечном итоге отредактированная ветка будет выгладить так: autocheck autochk /k:C. Сохраните изменения. После этого проверка диска будет отключена.

Ход установки процессора зависит от его типа и конфигурации материнской платы. Главное - это соблюдать принцип совместимости, а также элементарную аккуратность.

Инструкция

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

Изучите модель материнской платы, визуально запомните, как установлен процессор в конкретном случае. Если задачей является замена старого камня на новый, то перед тем как выполнять эту замену, исследуйте возможность апгрейда. Системная плата должна поддерживать тип процессора. Для того чтобы узнать эту информацию, можно зайти на официальный сайт производителя и прочитать, какая конфигурация возможна.

Данная короткая заметка будет посвящена теме обнаружения источника внезапной нагрузки на процессор. Нагрузка на процессор, ну и что? В процессе работы с операционной системой Windows внезапные тормоза являются штатной реакцией на загрузку нами "прожорливых" приложений, например открытие 100 вкладок в браузере Google Chrome. Тут все прогнозируемо, ибо причиной подобных проблем является работа требовательного к ресурсам приложения, которое в зависимости от специфики выполняемой задачи способно сильно нагружать процессор. Совершенно другое дело, когда нагрузка на процессор возникает сама по себе, без видимых на то причин. К примеру, в простаивающей, либо практически ничем не загруженной системе, выполняющей штатную работу, внезапно возникают подтормаживания. Подобную нагрузку можно классифицировать следующим образом:

  • Высокая нагрузка на процессор, внезапно появляющаяся и (не)исчезающая через некоторый промежуток времени;
  • Постоянная нагрузка на процессор, не меняющая своих симптомов на протяжении всего цикла функционирования операционной системы;

В описанных ситуациях не исключены варианты, когда процессор загружен на 100 процентов, либо загрузка может быть не полной. Так же можно выделить постоянную, либо интервальной загрузку. Как в описанных ситуациях определить что грузит процессор ? Что бы ответить на этот вопрос, потребуется обнаружить процесс, функционирующий в операционной системе и являющийся источником аномальной нагрузки. И в этом нам поможем специализированное программное обеспечение.

Установка WPT

Сперва нам потребуется произвести установку инструментария под названием Windows Performance Toolkit (WPT), который входит в состав Windows SDK. Процесс установки подробно описан в статье , по ней можно с легкостью установить и Windows Performance Toolkit, просто в процессе установки не забудьте отметить пункт "Windows Performance Toolkit". Помните, что лучше было бы установить дистрибутив, соответствующий разрядности Вашей платформы. По окончании процесса установки возможные рабочие каталоги инструментария:

  • C:\Program Files\Microsoft Windows Performance Toolkit ;
  • C:\Program Files (x86)\Windows Kits\8.x\ ;

Хотя пути могут в будущих дистрибутивах и измениться.

Установку на каждую новую проблемную станцию можно не производить. Достаточно лишь скопировать каталог Microsoft Windows Performance Toolkit на флешку или непосредственно на изучаемую операционную систему и пользоваться утилитами в нем как переносными приложениями. В этом случае не забывайте запуска требуемые утилиты непосредственно из каталога пакета.

Создание нагрузки

К сожалению в момент, когда я решил довести до ума собственные записи, у меня под рукой не оказалось "живого" примера по конкретной проблеме нагрузки на процессор. В своё время, когда я наблюдал подобные проблемы, я как-то не озаботился сбором материала для публикации, поэтому нам потребуется самостоятельно воссоздать ситуацию с нагрузкой, которая бы была близка к типовой рабочей.

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

Для создания нагрузки мы будем использовать утилиту под названием от Sysinternals. Утилита старая, быть может уже в среде Windows 7 не совсем актуальная, однако это первая вещь, которая подвернулась мне под руку. Сразу после старта утилита запускает на выполнение первичный поток и выводит графический интерфейс пользователя, содержащий настройки:

На приведенном рисунке видно, что я отметил чек-боксы, которые требуется активировать в интерфейсе утилиты CPUStres с целью запуска максимального (4) количества потоков в рамках процесса. В дополнение можно поиграться со значениями параметров Thread Priority и Activity для каждого потока, с целью создать требуемую нагрузку. На самом деле у нас нет цели симулировать максимальную нагрузку на процессор, перед нами стоит задача сделать нагрузку ощутимой и периодической.

Мониторинг

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

Приведенную ниже команду запускать от имени учетной записи с правами локального администратора

В командной строке выполняем следующую серию команд:

xperf -on latency -stackwalk profile -buffersize 2048 -MaxFile 1024 -FileMode Circular && timeout -1 && xperf -d c:\cpu.etl

Что происходит после выполнения приведенной серии команд?

  • При помощи контроллера xperf включается сессия трассировки ядра с опцией latency (задержка). Latency это группа, которая включает некоторое количество предопределенных провайдеров ядра, в числе которых есть и профилирование, фиксирующее активность процессора каждую миллисекунду. Опция Stackwalk Profile предписывает записывать стек вызова каждый раз при возникновении события профилирования процессора.
  • Команда timeout -1 ожидает нажатия пользователем любой клавиши;
  • После нажатия клавиши, командой xperf -d c:\cpu.etl контроллер инициирует завершение сессии трассировки событий и сохраняет результаты в файл c:\cpu.etl .

Поэтому алгоритм наших действий следующий: при возникновении нагрузки на ЦП, запускаем описанную выше серию команд, ждем секунд 30 , затем жмем любую клавишу и дожидаемся окончания процесса формирования файла результатов. Поскольку объем собираемой информации может быть достаточно большим, на сборку файла потребуется некоторое время, наберитесь терпения. В общем виде, на экране монитора Вы можете наблюдать следующую картину:

Поэтому только после того, как процесс трассировки соберет файл результата и вывалится в командную строку, только после этого мы можем переходить к следующему этапу.

Ошибки

При первом запуске утилиты xperf возможно появление следующих оповещений и ошибок:

xperf: warning: This system is not fully configured for x64 stack tracing. Please modify the registry under: HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management and set the value: DisablePagingExecutive (REG_DWORD) = 1 Then reboot before retrying tracing. Note: Tracing has been enabled, this is just a warning.

xperf: warning: This system is not fully configured for x64 stack tracing.

Please modify the registry under:

HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management

and set the value:

DisablePagingExecutive (REG_DWORD) = 1

Then reboot before retrying tracing.

Note: Tracing has been enabled, this is just a warning.

Это предупреждение никак не влияющее на текущую сессию трассировки и может быть проигнорировано. Оно сообщает нам о том, что система не сконфигурирована должным образом для трассировки стека 64-битных процессов. Текущая настройка разрешает выгрузку страниц, содержащих исполняемый код ядра/драйверов из оперативной памяти в файл подкачки. Намекает, что неплохо было бы, в будущем, включить запрет выгрузки страниц ядра из оперативной памяти. Просто присвойте параметру значение "1" и перезагрузитесь.

xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).

Довольно странная ошибка, в локализованной версии звучащая как "Не могу создать файл, потому что файл уже используется". Говорит о том, что в данный момент уже запущена трассировка через какое-то из системных/сторонних средств. Для решения проблемы требуется отключить трассировку, универсальным средством лечения так же является перезагрузка:)

Анализ результатов

Что грузит процессор? Мы все ближе подходим к ответу на этот вопрос. После того, как мы завершили трассировку, переходим в целевую папку, заданную нами в опциях запуска утилиты xperf (в моем случае это корень диска C:\ ) и приступаем к анализу результатов. Для этого двойным щелчком открываем получившийся отчет cpu.etl в ассоциированной утилите просмотра.

  • Для старых версий WPT это xperfview.exe ;
  • Для новых версий WPT это wpa.exe ;

Откроется основное окно программы Windows Performance Analyzer:

Вид окна от версии к версии может меняться. Нам принципиально найти график под названием CPU Usage (Sampled) или CPU Sampling by Process . Например, для старых версий, в меню Graphs ставим чек-бокс напротив опции CPU Sampling by Process . После чего в основном окне у нас появится соответствующий график.

CPU Sampling - Замеры затрачиваемого на процессы процессорного времени на протяжении всего цикла трассировки.

На этом графике мы можем наблюдать характерные всплески нагрузки, вызванные активностью утилиты CPUStres. Ось ординат данного графика отображает процент использования ЦП. На любом месте графика CPU Sampling by Process жмем правую кнопку мыши и из раскрывшегося контекстного меню выбираем пункт Summary Table . Откроется новое окно:

Открывшееся окно CPU Sampling Summary Table может выглядеть слегка иначе, поскольку в умолчальном своем состоянии, обычно, не отображает колонку Stack (Стэк). В этом случае для проведения окна к описанному виду, вызываем пункт меню Columns (Столбцы) и отмечаем чек-бокс Stack .

По желанию можно сконфигурировать путь к серверу символов Microsoft для получения подробной информации об именах вызываемых функций. Естественно, имена будут сопоставлены только с теми функциями, для которых имеются (то есть для большинства сторонних программ мы имен не получим). Для подключения символов необходимо зайти в меню Trace , далее в раздел Configure Server Paths , потом прописать в параметр _NT_SYMBOL_PATH значение srv*c:\symbols*http://msdl.microsoft.com/download/symbols . Затем, в меню Trace включить опцию Load Symbols . Но будьте осторожны, символы будут подгружаться из сети Интернет для каждого модуля, обнаруженного в стеках вызовов, объем загружаемых данных иногда бывает достаточно большим, в этом случае интерфейс может подвиснуть до окончания полной загрузки символов. Последний раз процедура заняла у меня порядка 10 минут, в течении которых окно анализатора не отвечало.

Что же мы наблюдаем в суммарной таблице? Столбец Count (Счет) отображает количество замеров, которые были произведены для каждого процесса. А столбец Weight (Вес), в свою очередь, определяет количество времени, затраченного на эти замеры (в миллисекундах). Более внимательные читатели могли заметить, что значения столбцов практически идентичны, с небольшим расхождением. Это объясняется частотой интервала замеров, равной 1 КГц (KHz). А небольшие расхождения значений Weight и Count объясняется тем, что интервалы замеров не идеально выверены. Процессы отсортированы по уменьшению значения Weight, что, в общем то, является удобным критерием сортировки, поскольку размещает процессы по убыванию количества затраченного на них времени.

Обе этих колонки (Weight/Count) отражают степень использования процессора, что, в общем то, в контексте данной задачи для нас самое важное.

Какая тут может применяться методика поиска виновника интенсивного использования процессора? Поскольку самые нагружающие процессор приложения находятся вверху и отсортированы вниз по мере убывания нагрузки, то сверху мы и будем анализировать список процессов. Для каждого процесса в столбце Stack разворачиваем все имеющиеся сгруппированные стеки вызовов значком [+], таким образом у нас должно получиться что-то вроде иерархической структуры. В развернутых стеках вызовов конкретного процесса просматриваем все расположенные там модули. Нас интересуют только те модули, у которых колонка Weight имеет большие значения и после которого в следующей строке идет резкое падение затрачиваемого процессорного времени.

Перебирая модули в стеке вызовов, в первую очередь обращайте внимание на драйвера/процессы сторонних разработчиков, поскольку именно они, с большой вероятностью, оказываются виновниками.

Руководствуясь подобной стратегией мы можем выявить виновника нагрузки на процессор. И как поступить после обнаружения источника проблемы? Для начала потребуется определить автора/принадлежность модуля, с этой целью можно задействовать любой поисковик. После того, как Вы определили принадлежность модуля, у Вас есть несколько возможных вариантов дальнейших действий:

  • С сайта производителя можно скачать последнюю версию драйвера/программы и обновиться.
  • Если первый пункт не помог, можно попробовать откатиться к более ранней версии драйвера.
  • Если более ранней версии нет, то уж в самом крайнем случае можно вовсе удалить драйвер/программу.

Выводы

Таким образом мы ответили на вопрос о том, что грузит процессор. Но для чего нужны все эти инструменты из комплекта Windows Performance Tools, ведь мы могли бы просто вызвать Диспетчер задач в момент нештатной нагрузки и отследить источник проблемы использования центрального процессора (ЦП). Да, подобный подход действительно актуален, но только для приложений! А описанный в данной статье метод с использованием утилит комплекта WPT позволяет находить массу дополнительной информации по сбою:

  • источник проблемы среди модулей режима ядра (процессов/драйверов), выполняющихся в контексте процесса System ;
  • источник проблемы среди процессов сервисов (служб), группирующихся в рамках единых процессов svchost.exe ;
  • видеть стеки вызовов модулей, что намного глубже позволяет погрузиться в изучение сбоя.