Что грузит процессор. Перегруженность процессора

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

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

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

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

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

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

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

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

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

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

Если, включив компьютер или поработав в Windows некоторое время вы вдруг видите, что скорость работы заметно снизилась или компьютер совсем перестал отвечать, то причиной этому может быть зависание компьютера – т.е. когда он занят выполнением файлов и не отвечает на запросы от других устройств компьютера или программ. Что нужно делать в этом случае, как исправить ситуацию?

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

Для начала просто перезагрузите компьютер. Иногда бывает, что какое-то приложение зависло из-за неполадок в самом приложении и продолжает использовать процессор, часто на все 100 процентов. Можно удалить его через «Диспетчер задач» — «Снять задачу».

Только не забудьте поставить отметку «Отображать процессы всех пользователей» или «Подробнее» — для отображения полного списка процессов. После того как снимите задачу – перезагрузитесь – проверьте ушла проблема загрузки или нет.

Если перезагрузка компьютера не решила проблему переходим к этапу проверки Windows на наличие вредоносных программ. Запустите полное сканирование антивирусом, установленным у вас. Вы должны понимать, что наличие антивируса не исключает возможность заражения компьютера. Оптимально для проверки использовать антивирусные сканеры известных разработчиков. Они бесплатны, не требуют установки, их можно записать на флешку или компакт-диск и, загрузившись с них, запустить проверку ПК – это увеличит шансы на отлов большинства зловредных программ.

Проведите анализ операционной системы Windows если наблюдаете высокий процент загрузки ЦП

Используя специальное программное обеспечение, проанализируйте почему тот или иной процесс запускается и загрузка ЦП увеличивается до 100%. Например, для этого хорошо подходит «AnVir Task Manager». Она позволяет оценить уровень риска и изменить тип запуска приложения в автозагрузке, процесса или сервиса (приведенное на рисунке меню вызывается правой кнопкой мыши) т.е. вы сможете понять, что с ним делать — причину проблемы.

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

Доброго времени суток!

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

Очень часто причиной медленной работы и тормозов - является загрузка процессора, иногда она доходит до 100%!

Решить эту проблему не всегда просто, тем более, что ЦП может быть загружен и без видимой на то причины (т.е. возможно вы и не запускали никаких ресурсоемких программ: игр, видеоредакторов и пр.).

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

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

Каким процессом, программой загружен процессор

Самый быстрый способ определить, какая программа нагружает ЦП - это вызвать диспетчер задач (кнопки: Ctrl+Shift+Esc ).

В диспетчере задач откройте вкладку "Процессы" и отсортируйте приложения по нагрузке на ЦП. На скриншоте ниже, видно, что львиную долю ЦП (~84%) съедает браузер Firefox (хотя он у меня даже не запущен... ). Если у вас есть подобная "скрытая" программа - то тут же из диспетчера задач ее можно закрыть (достаточно нажать на нее правой кнопкой мышки...).

Примечание

В Windows есть свой мониторинг ресурсов, который так же можно использовать для просмотра загрузки процессора, памяти, диска и сети. Чтобы его вызвать, нажмите кнопки Win+R , затем введите в строку "Открыть" команду resmon и нажмите Enter .

Важно!

В некоторых случаях диспетчер задач не позволяет вычислить причину загрузки процессора. Кстати, процессор может быть загружен и не на 100%, а, скажем, на 20-50%...

Если диспетчер задач не дал информации к размышлению - рекомендую воспользоваться одной утилитой - Process Explorer (кстати, расположена на сайте Microsoft...).

Process Explorer (поиск "невидимой" причины тормозов)

Отличная программа, которая не раз меня выручала! Основное ее направление работы - показать вам ВСЕ процессы и программы, запущенные на компьютере (от нее, наверное, не уйдет никто...). Таким образом, вы сможете определить наверняка, какой именно процесс нагружает ЦП.

Ниже скриншот очень показательный:

  • System idle process - это показатель в % бездействия системы. Т.е. на первой половине скрина ниже - процессор почти на 95% бездействует (именно так и должно быть, если на нем открыто пару-тройка программ: браузер, проигрыватель);
  • а на второй части скрина System idle process составляет 65%, но hardware interrupts and DPCs аж 20% (а временами доходят и до 70-80% ! Такого быть не должно. Вообще, interrupts (это системные прерывания) при нормальной работе, редко уходят за пределы нескольких процентов! Вот вам и причина тормозов и загрузки компьютера!
  • кстати, очень часто систему грузит процесс svchosts.exe . Вообще, это системный процесс, но есть ряд вирусов, которые маскируются под него и выдают себя за него. Ниже рассмотрим вопрос, как их отловить...

Process Explorer: на первой части скриншота - все нормально, на второй - процессор загружен на ~20% системными прерываниями (hardware interrupts and DPCs).

Если ЦП грузит interrupts...

Если проблема связана hardware interrupts and DPCs - то скорее всего проблемы связаны с драйверами. Точнее с их конфликтом межу собой, а еще более вероятней, несовместимостью с вашей ОС Windows. Причем, даже если в описании к драйверу значится ваша версия Windows - это не 100% гарантия совместимости.

Особое внимание обратите на драйвера: видеокарт, чипсета мат. платы, сетевой карты, Wi-Fi, звуковой карты. Рекомендую скачать их сразу нескольких версий и поочередно попробовать.

Реже проблема связана с вирусами, еще реже с периферийным оборудованием: принтер, сканер, сетевые карты и т.д.

Проверка и обновление драйверов

Иногда подобрать подходящие драйвера для компьютера/ноутбука далеко не так просто, как кажется на первый взгляд... Вообще, обычно, новая версия драйвера работает лучше старой (но иногда - все ровно наоборот). Если у вас загрузка ЦП связана с hardware interrupts and DPCs - рекомендую:

  1. попробовать установить драйвера с официального сайта производителя вашего оборудования. Обычно, для этого требуется определить производителя - для этого можно использовать спец. утилиты для определения характеристик ПК - ;
  2. если сайт вы не нашли или не смогли определить производителя, можно попробовать воспользоваться какой-нибудь спец. утилитой по обновлению драйверов:
  3. если при установке возникли проблемы с удалением старого драйвера из системы, рекомендую эту инструкцию:

Чтобы узнать, есть ли у вас в системе устройства, для которых нет драйверов - откройте диспетчер устройств . Для этого вызовите меню "Выполнить" - кнопки Win+R , введите devmgmt.msc (пример на скрине ниже).

Поиск вирусов

Вирусы - могут быть причиной всего, чего угодно... Обычно, когда процессор загружен из-за вирусов - можно найти какой-нибудь процесс, который грузит систему. Чаще всего, этот процесс системный: например, вирусы маскируются под процесс svchost.exe - даже пользователю с опытом удается не сразу найти и опознать среди реальных процессов, вирусный (но об этом файле будет рассказано ниже)...

  1. В Windows Xp, 7 - можно нажать при загрузке несколько раз клавишу F8 - должно появиться "черное" окно с выбором вариантов загрузки;
  2. в Windows 8, 10 - нажать Win+R , ввести команду msconfig . Далее в разделе выбрать ОС Windows и поставить галочку напротив пункта "Безопасный режим" . Сохранить настройки и перезагрузить ПК (скриншот ниже).

А уже из безопасного режима целесообразно запускать проверку на вирусы. Для этого не обязательно иметь на компьютере установленный антивирус - есть специальный утилиты, которые не нужно устанавливать.

Периферийное оборудование

Если проблема до сих пор не была найдена, рекомендую попробовать отключить от ноутбука (компьютера), все лишнее: принтер, сканер, мышку и пр.

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

Особое внимание обратите на старые устройства, которые, возможно и работают в новой ОС Windows, но драйвера вы для них устанавливали "принудительно" (например, Windows могла предупреждать, что нет подписи, и вы продолжили установку)...

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

Как удалить старые или лишние "дрова" -

Svchost.exe грузит процессор - что это?

Очень часто грузит процессор файл svchost.exe - по крайней мере, так говорит диспетчер задач . Дело в том, что это основной процесс для загрузки служб - т.е. грубо говоря, нужный системный процесс, без которого не обойтись...

Здесь есть два варианта случаев:

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

Как определить: какой svchost.exe файл системный, а какой нет?

Когда ее запустите, нужно перейти в меню Сервис/Диспетчер процессов (см. скриншот ниже). Далее вы увидите ВСЕ процессы в системе - их нужно отсортировать по названию (так удобнее, мне кажется ).

Суть в чем: все системные процессы, о которых знает AVZ, помечены зеленым цветом. Т.е. если у вас в списке будут svchost черного цвета - присмотритесь к ним очень внимательно, они, скорее всего, вирусные.

Кстати, при помощи этой AVZ можно проанализировать и все другие подозрительные процессы.

Отключение автоматического обновления Windows

Довольно часто svchost грузит процессор из-за включенного автоматического обновления Windows. Я предлагаю ее отключить (ничего плохого в этом нет - просто пару раз в месяц будете вручную проверять обновления - 1-2 раза нажать мышкой...).

Для начала нужно открыть вкладку службы . Самый быстрый способ это сделать - нажать кнопку WIN+R , ввести services.msc и нажать Enter (как на скрине ниже).

  1. тип запуска поставьте "Отключена";
  2. и нажмите кнопку "Остановить".

Сохраните настройки и перезагрузите компьютер.

Нет ли перегрева? Проверка температуры процессора!

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

Чаще всего, причиной перегрева является:

  • пыль (особенно если давно не чистили от нее системный блок). Пыль забывает вентиляционные отверстия, воздух плохо начинает циркулировать в корпусе устройства - и горячий воздух от процессора остается на "месте", и температура начинает расти. Самый легкий способ избавиться от пыли - откройте крышку системного блока и выдуйте пыль с помощью пылесоса, включив режим реверса. С ноутбуками все сложнее - если раньше никогда не разбирали его, рекомендую отдать спецам...
  • высокая температура в помещении . Обычно, это происходит в жаркую погоду летом, когда температура за окном может существенно повыситься. В этом случае можно открыть боковую крышку системного блока - и направить в его сторону обычный вентилятор. Для ноутбука в продаже есть специальные охлаждающие подставки.
  • сломавшийся кулер (или он так же мог забиться пылью). Здесь совет простой - его замена или чистка.

Признаки, по которым можно заподозрить перегрев:

Чтобы узнать температуру процессора - рекомендую воспользоваться какой-нибудь утилитой для определения характеристик ПК. Мне, например, симпатичны Speccy и Aida 64. Скриншот температуры процессора из Speccy вы можете увидеть ниже (t=49 °C, градусов Цельсия).

Утилиты для просмотра характеристик компьютера -

Какой должна быть температура процессора?

Очень популярный вопрос, на который нельзя дать однозначного ответа. Дело в том, что у разных производителей - разные критические температуры.

Для персонального компьютера

Вообще, идеальный вариант - это посмотреть модель своего процессора и открыть сайт производителя: на нем всегда указаны критические температуры.

Если говорить в общем, то если температура вашего процессора до 40 °C (градусов Цельсия) - то с ним все в порядке, система охлаждения справляется. Температура выше 50 °C - может указывать на проблемы в системе охлаждения (или на большое количество пыли). Все что выше 60 градусов - необходимо пристально просмотреть и принять меры: почистить от пыли, установить дополнительные кулеры (или заменить старый).

Для ноутбука

Что касается ноутбуков - то здесь планка несколько иная. Так как пространство в ноутбуке ограничено - то процессоры здесь нагреваются выше. Например, не редкость - рабочая температура в нагрузке у многих процессоров составляет около 70 °C. При простое, обычно, эта планка составляет около 40-50 °C. Вообще, начинает беспокоиться (для большинства современных ноутбуков) стоит, если температура процессора поднимается выше 75-80 °C (по крайней мере уточнить, нормальная ли это для вашего устройства.

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

Кстати, многие опытные пользователи (да и некоторые спецы) вторят про критические 105 °C для современных ноутбуков. Я скажу так, работать то ноутбук может и будет при 90-95 °C, и даже, возможно, при 100 °C - но главный вопрос: сколько? Вообще, вопрос дискуссионный для многих...

PS

Последний совет. Иногда найти и устранить причины высокой нагрузки на процессор и тормозов компьютера - дело достаточно утомительное и не простое. В подобных случаях, рекомендую попробовать некоторые с разными ОС, или заменить свою Windows 7, скажем, на более новую Windows 8/10 - проблема может решиться всего лишь 10-минутной переустановкой ОС...

Ну, а на этом у меня все. Удачи!

Данная короткая заметка будет посвящена теме обнаружения источника внезапной нагрузки на процессор. Нагрузка на процессор, ну и что? В процессе работы с операционной системой 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 ;
  • видеть стеки вызовов модулей, что намного глубже позволяет погрузиться в изучение сбоя.

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

Симптомы высокой загруженности ЦП

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

  • Команда show processes cpu выдает высокое значение в процентах
  • Медленная работа
  • Службы маршрутизатора не отвечают, например:
    • задержка ответа Telnet или невозможно получить доступ к маршрутизатору по протоколу Telnet
    • медленный ответ на консоли
    • медленный ответ на запрос команды ping или вообще нет ответа
    • маршрутизатор не отправляет обновления маршрутизации другим маршрутизаторам

Первоначальное устранение неполадок

Как только будет замечен какой-нибудь из указанных выше симптомов, выполните следующее:

  • Проверьте наличие проблем, связанных с безопасностью. Как правило, высокая загрузка ЦП бывает обусловлена именно проблемами такого рода, например функционированием вредоносной программы (червя или вируса) в сети. Если последние изменения в сети производились давно, это наиболее вероятная причина высокой загрузки ЦП. Обычно для ограничения негативных последствий этой проблемы достаточно добавить строки в списки доступа.
  • Убедитесь, что все команды отладки в маршрутизаторе выключены, выполнив команду undebug all или no debug all .
  • Удается выполнить команды show на маршрутизаторе? Если да, немедленно начните собирать дополнительные сведения, используя эти команды.
  • Маршрутизатор недоступен? Удается воспроизвести эту проблему? Если да, выключите и включите маршрутизатор, а перед воспроизведением проблемы настройте команду scheduler interval 500 . В результате выполнение процессов с низким приоритетом будет запланировано с интервалом в 500 миллисекунд, благодаря чему появится время для запуска некоторых команд, даже если ЦП используется на все 100%. На серий 7200 и 7500 используйте команду scheduler allocate 3000 1000.
  • Проявляет маршрутизатор признаки высокой загрузки ЦП в течение кратких и непрогнозируемых периодов? Если да, регулярно собирайте выходные данные команды show processes cpu , которые отображают причину высокой загрузки ЦП, если она вызвана прерываниями или отдельным процессом.
  • Выяснение причин и решение проблемы

Используйте команду show processes cpu , чтобы определить, чем вызвана высокая загрузка ЦП, прерываниями или процессами.

Высокая загруженность ЦП процессами

Определите процесс, чрезмерно использующий ЦП. Необычная активность, относящаяся к процессу, приводит к сообщению об ошибке в журнале. Таким образом, выходные данные команды show logging exec следует проверить, в первую очередь, на наличие любых ошибок, относящихся к процессу, использующему большое количество циклов ЦП.

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

  • Все журналы регистрации, за исключением журнала регистрации сведений для буферов, должны быть отключены или уровень важности протоколируемых в них сведений должен быть понижен с 7 (отладка) до 6 (информационный) или ниже при помощи соответствующей команды настройки logging destination [ уровень важности ] . Сведения о включенных журналах регистрации и уровнях важности протоколируемых в них сведений содержатся в строках заголовка выходных данных команды show logging exec.
  • Размер буфера регистрации необходимо увеличить, чтобы он вмещал всю необходимую информацию. Дополнительные сведения см. в описании команды глобальной настройки logging buffered .
  • Чтобы облегчить восприятие и понимание отладки, следует включить временные отметки в миллисекундах, а также дату и время. Дополнительную информацию см. в описании команды глобальной настройки service timestamps .

Команды для получения дополнительной информации

Эти команды позволяют получить дополнительные сведения о проблеме:

  • show processes cpu
  • show interfaces
  • show interfaces switching
  • show interfaces stat
  • show ip nat translations
  • show align
  • show version
  • show log

Если маршрутизатор совершенно недоступен, сначала выключите и включите его. Затем периодически собирайте выходные данные вышеуказанных команд, за исключением команды show log , результаты выполнения которой должны регистрироваться на сервере системного журнала. Выходные данные следует собирать с интервалом 5 минут. Сбор данных можно также выполнить с помощью HTTP или SNMP.

Команда show processes cpu

Это пример заголовка команды show processes cpu :

CPU utilization for five seconds: X%/Y%; one minute: Z%; five minutes: W% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process

В следующей таблице описаны поля этого заголовка:

X Y Z W PID Runtime Invoked uSecs 5Sec 1Min 5Min TTY Process

Поле

Описание

Среднее суммарное использование за последние пять секунд (прерывания + процессы)
Среднее использование прерываниями за последние пять секунд¹
Среднее суммарное использование за последнюю минуту²
Среднее суммарное использование за последние пять минут²
Идентификатор процесса
Время ЦП, использованное процессом (в миллисекундах)
Число вызовов процесса
Время ЦП в микросекундах для каждого вызова процесса
Использование ЦП заданием за последние пять секунд
Использование ЦП заданием за последнюю минуту2
Использование ЦП заданием за последние пять минут2
Управляющий процессом терминал
Имя процесса

¹Использование ЦП на уровне процесса = X - Y
²Значения соответствуют не арифметическому среднему, а экспоненциально затухающему среднему, поэтому последние значения больше влияют на вычисляемое среднее.

Примечание: Суммарное использование ЦП не следует интерпретировать как показатель способности маршрутизатора коммутировать большее число пакетов. В маршрутизаторах Cisco 7500 универсальные интерфейсные процессоры (VIP) и процессоры маршрутизации и коммутации (RSP) не сообщают о линейном использовании ЦП. Почти половина мощности коммутации в пакетах в секунду реализуется после 90-95% загрузки ЦП.

Команда show interfaces switching

Эта команда используется для определения активных путей коммутации на интерфейсах

Ниже приведен пример выходных данных команды show interfaces switching для одного интерфейса:

RouterA#show interfaces switching

Throttle count 0
Drops RP 0 SP 0
SPD Flushes Fast 0 SSE 0
SPD Aggress Fast 0 0
SPD Priority Inputs 0 Drops 0
Protocol Path Pkts In Chars In Pkts Out Chars Out
Other Process 0 0 595 35700
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
IP Process 4 456 4 456
Cache misses 0
Fast 0
Auton/SSE 0 0 0 0
IPX Process 0 0 2 120
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
Trans. Bridge Process 0 0 0 0
Cache misses 0
Fast 11 660 0 0
Auton/SSE 0 0 0 0
DEC MOP Process 0 0 10 770
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
ARP Process 1 60 2 120
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
CDP Process 200 63700 100 31183
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0

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

Process Cache misses Fast Auton/SSE

Поле

Описание

Обработанные пакеты. Это могут быть пакеты, предназначенные для маршрутизатора, или пакеты, для которых не было записей в кэш-памяти быстрой коммутации.
Пакеты, для которых не было записей в кэш-памяти быстрой коммутации. Будет обработан первый пакет для этого пункта назначения (или поток – зависит от типа настроенной быстрой коммутации). Все последующие пакеты будут быстро коммутироваться, если только быстрая коммутация не будет специально отключена на исходящем интерфейсе.
Пакеты, обработанные быстрой коммутацией. Быстрая коммутация включена по умолчанию.
Пакеты, обработанные автономной коммутацией; коммутацией с помощью кремниевых процессоров или распределенной коммутацией. Доступны только на маршрутизаторах Cisco серии 7000 с процессором коммутации или кремниевым процессором коммутации (для автономной коммутации или коммутации с использованием кремниевых устройств соответственно), либо на маршрутизаторах Cisco серии 7500 с процессором VIP (для распределенной коммутации).

Команда show interfaces stat

Эта команда является объединенной версией команды show interfaces switching. Ниже приведен пример выходных данных для одного интерфейса:

RouterA#show interfaces stat

Ethernet0 Switching path Pkts In Chars In Pkts Out Chars Out
Processor 52077 12245489 24646 3170041
Route cache 0 0 0 0
Distributed cache 0 0 0 0
Total 52077 12245489 24646 3170041

Выходные данные команды show interfaces stat на разных платформах отличаются: они зависят от доступных и настроенных коммутируемых путей.

Команда show ip nat translations

Команда show ip nat translations служит для отображения активных на маршрутизаторе трансляций преобразования сетевых адресов (NAT). Каждая активная трансляция генерирует прерывания ЦП и влияет на суммарное использование ЦП маршрутизатора. Большое число трансляций может повлиять на производительность маршрутизатора.

Ниже приведен пример выходных данных команды show ip nat translations:

router#show ip nat translations Pro

Inside global Inside local Outside local Outside global
--- 172.16.131.1 10.10.10.1 ---

Команда show align

Эта команда доступна только на платформах на базе RISC-процессоров с сокращенным набором команд. На этих платформах ЦП может корректировать нарушения выравнивания для чтения и записи в памяти. Ниже приведен пример выходных данных:

Alignment data for:
4500 Software (C4500-DS40-M), Version mis-aligned RELEASE SOFTWARE (fc1)
Compiled Tue 31-Mar-98 15:05 by jdoe

Total Corrections 33911, Recorded 2, Reads 33911, Writes 0

Initial Initial
Address Count Access Type Traceback
40025F4D 15561 16bit read 0x606F4A7C 0x601C78F8 0x6012FE94 0x600102C0
40025F72 18350 32bit read 0x606FB260 0x6013113C 0x600102C0 0x60010988

Команда show version

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

Команда show log

Эта команда отображает содержание сообщений журнала регистрации сведений о буферах.

Есть вопросы?
Обращайтесь в "Аквилон-А", чтобы узнать подробности и получить именно то, что вам требуется.



В продолжение темы:
Android

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