Процессор полностью загружен. Как снизить нагрузку на ЦП: основные причины и методы решения проблем

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

Шаги

Windows

    Нажмите комбинацию клавиш . Ctrl + ⇧ Shift + Esc , чтобы открыть «Диспетчер задач». Это утилита, которая следит за всеми процессами и программами, которые в данный момент запущены на компьютере.

    Нажмите на колонку «ЦП». Таким образом вы отсортируете процессы по загруженности процессора.

  1. Обратите внимание на столбец «Имя образа». Это имя позволит вам позже отыскать процесс и определить, как предотвратить высокую загрузку.

    • В ОС Windows 8 вместо системного имени процесса вы увидите полное название программы. Данный момент значительно упрощает задачу по распознаванию программы.
  2. Выберите проблемную программу и нажмите на кнопку . Завершить процесс . Вас попросят подтвердить завершение процесса.

    • В ОС Windows 8 это кнопка называется Снять задачу .
    • Принудительное завершение программы приведет к тому, что вся несохраненная работа в программе будет утеряна. Кроме того, принудительное завершение процесса может привести к тому, что ваш компьютер перестанет работать до следующей перезагрузки.
    • Не следует принудительно прекращать работу процесса «Бездействие системы». Если этот процесс загружает ваш процессор, знайте, что на самом деле он его не использует. Когда процесс «Бездействие системы» задействует почти весь процессор, это значит, что сейчас ваш компьютер имеет много свободной вычислительной мощности.
    • Если у вас не получается принудительно завершить работу программы, нажмите сюда , чтобы узнать о других более продвинутых методах.
  3. Решите, что предпринять с проблемной программой. Поищите в Интернете название принудительно закрытой программы. Это поможет вам понять для чего используется процесс, и что следует предпринять, чтобы он не загружал процессор до 100%. Существует всего несколько способов решения проблемы полной загрузки процессора из-за конкретной программы:

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

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

    • В Интернете вы можете найти инструкции по увеличению доступной памяти процессора с помощью флешки.
    • Нажмите сюда, чтобы найти инструкции по увеличению ОЗУ . Увеличение объема ОЗУ поможет облегчить работу вашего процессора.
    • Нажмите сюда, чтобы найти инструкции по апгрейду процессора .

    Mac

    1. Запустите «Activity Monitor». Вы найдете эту утилиту в папке «Утилиты», которая находится в папке «Приложения». Вы можете сразу перейти в эту папку, нажав на меню «Go» и выбрав папку «Утилиты».

      • Приложение «Activity Monitor» отображает все процессы, которые в данный момент запущены на Mac.
    2. Нажмите на колонку «ЦП». Таким образом вы отсортируете процессы по проценту загруженности процессора.

    3. Найдите процессы, которые больше всего загружают центральный процессор. Как правило, вы должны увидеть лишь одну программу с практически максимальной загрузкой ЦП (99-100%), но возможно, что проблему вызывают несколько различных программ, каждая из которых занимает до 50%.

      • Многие игры и графические редакторы занимают все 100% памяти процессора. Это нормально, так как на время работы этих программ на компьютере больше ничего не должно быть запущено.
  • Перевод

Та метрика, которую мы называем «загрузкой процессора» на самом деле многими людьми понимается не совсем верно. Что же такое «загрузка процессора»? Это то, насколько занят наш процессор? Нет, это не так. Да-да, я говорю о той самой классической загрузке CPU, которую показывают все утилиты анализа производительности - от диспетчера задач Windows до команды top в Linux.

Вот что может означать «процессор загружен сейчас на 90%»? Возможно, вы думаете, что это выглядит как-то так:

А на самом деле это выглядит вот так:

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

Что это означает для вас? Понимание того, какое количество времени процессор действительно выполняет некоторые операции, а какое - лишь ожидает данные, иногда даёт возможность изменить ваш код, уменьшив обмен данных с оперативной памятью. Это особенно актуально в нынешних реалиях облачных платформ, где политики автоматического масштабирования иногда напрямую завязаны на загрузку CPU, а значит каждый лишний такт «холостой» работы стоит нам вполне реальных денег.

Что же такое загрузка процессора на самом деле?

Та метрика, которую мы называем «загрузкой процессора» на самом деле означает нечто вроде «время не-простоя»: то есть это то количество времени, которое процессор провёл во всех потоках кроме специального «Idle»-потока. Ядро вашей операционной системы (какой бы она ни была) измеряет это количество времени при переключениях контекста между потоками исполнения. Если произошло переключение потока выполнения команд на не-idle поток, который проработал 100 милисекунд, то ядро операционки считает это время, как время, потраченное CPU на выполнение реальной работы в данном потоке.

Эта метрика впервые появилась в таком виде одновременно с появлением операционных систем с разделением времени. Руководство программиста для компьютера в лунном модуле корабля «Апполон» (передовая на тот момент система с разделением времени) называла свой idle-поток специальным именем «DUMMY JOB» и инженеры сравнивали количество команд, выполняемых этим потоком с количеством команд, выполняемых рабочими потоками - это давало им понимание загрузки процессора.

Так что в этом подходе плохого?

Сегодня процессоры стали значительно быстрее, чем оперативная память, а ожидание данных стало занимать львиную долю того времени, которое мы привыкли называть «временем работы CPU». Когда вы видите высокий процент использования CPU в выводе команды top, то можете решить, что узким местом является процессор (железка на материнской плате под радиатором и кулером), хотя на самом деле это будет совсем другое устройство - банки оперативной памяти.

Ситуация даже ухудшается со временем. Долгое время производителям процессоров удавалось наращивать скорость их ядер быстрее, чем производители памяти увеличивали скорость доступа к ней и уменьшали задержки. Где-то в 2005-ом году на рынке появились процессоры с частотой 3 Гц и производители сконцентрировались на увеличении количества ядер, гипертрейдинге, много-сокетных конфигурациях - и всё это поставило ещё большие требования по скорости обмена данных! Производители процессоров попробовали как-то решить проблему увеличением размера процессорных кэшей, более быстрыми шинами и т.д. Это, конечно, немного помогло, но не переломило ситуацию кардинально. Мы уже ждём память большую часть времени «загрузки процессора» и ситуация лишь ухудшается.

Как же понять, чем на самом деле занят процессор

Используя аппаратные счетчики производительности. В Linux они могут быть прочитаны с помощью perf и других аналогичных инструментов. Вот, например, замер производительности всей системы в течении 10 секунд:

# perf stat -a -- sleep 10 Performance counter stats for "system wide": 641398.723351 task-clock (msec) # 64.116 CPUs utilized (100.00%) 379,651 context-switches # 0.592 K/sec (100.00%) 51,546 cpu-migrations # 0.080 K/sec (100.00%) 13,423,039 page-faults # 0.021 M/sec 1,433,972,173,374 cycles # 2.236 GHz (75.02%) stalled-cycles-frontend stalled-cycles-backend 1,118,336,816,068 instructions # 0.78 insns per cycle (75.01%) 249,644,142,804 branches # 389.218 M/sec (75.01%) 7,791,449,769 branch-misses # 3.12% of all branches (75.01%) 10.003794539 seconds time elapsed
Ключевая метрика здесь это "количество инструкций за такт " (insns per cycle: IPC), которое показывает, сколько инструкций в среднем выполнил процессор на каждый свой такт. Упрощённо: чем больше это число, тем лучше. В примере выше это число равно 0.78, что, на первый взгляд кажется не таким уж плохим результатом (78% времени выполнялась полезная работа?). Но нет, на этом процессоре максимально возможным значением IPC могло бы быть 4.0 (это связано со способом получения и выполнения инструкций современными процессорами). То есть наше значение IPC (равное 0.78) составляет всего 19.5% от максимально возможной скорости выполнения инструкций. А в процессорах Intel начиная со Skylake максимальное значение IPC уже равно 5.0.

В облаках

Когда вы работаете в виртуальном окружении, то можете и не иметь доступа к реальным счетчикам производительности (это зависит от используемого гипервизора и его настроек). Вот статья о том, как это работает в Amazon EC2 .

Интерпретация данных и реагирование

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

Если у вас IPC > 1.0 , то ваше приложение страдает не столько от ожидания данных, сколько от чрезмерного количества выполняемых инструкций. Ищите более эффективные алгоритмы, не делайте ненужной работы, кэшируйте результаты повторяемых операций. Применение инструментов построения и анализа Flame Graphs может быть отличным способом разобраться в ситуации. С аппаратной точки зрения вы можете использовать более быстрые процессоры и увеличить количество ядер.

Как вы видите, я провёл черту по значению IPC равному 1.0. Откуда я взял это число? Я рассчитал его для своей платформы, а вы, если не доверяете моей оценке, можете рассчитать его для своей. Для этого напишите два приложения: одно должно загружать процессор на 100% потоком выполнения инструкций (без активного обращения к большим блокам оперативной памяти), а второе должно наоборот активно манипулировать данным в ОЗУ, избегая тяжелых вычислений. Замерьте IPC для каждого из них и возьмите среднее. Это и будет примерная переломная точка для вашей архитектуры.

Что инструменты мониторинга производительности на самом деле должны показывать

Я считаю, что каждый инструмент мониторинга производительности должен показывать значение IPC рядом с загрузкой процессора. Это сделано, например, в инструменте tiptop под Linux:

Tiptop - Tasks: 96 total, 3 displayed screen 0: default PID [ %CPU] %SYS P Mcycle Minstr IPC %MISS %BMIS %BUS COMMAND 3897 35.3 28.5 4 274.06 178.23 0.65 0.06 0.00 0.0 java 1319+ 5.5 2.6 6 87.32 125.55 1.44 0.34 0.26 0.0 nm-applet 900 0.9 0.0 6 25.91 55.55 2.14 0.12 0.21 0.0 dbus-daemo

Другие причины неверной трактовки термина «загрузка процессора»

Процессор может выполнять свою работу медленнее не только из-за потерь времени на ожидание данных из ОЗУ. Другими факторами могут быть:
  • Перепады температуры процессора
  • Вариирование частоты процессора технологией Turboboost
  • Вариирование частоты процессора ядром ОС
  • Проблема усреднённых расчётов: 80% средней загрузки на периоде измерений в минуту могут не быть катастрофой, но могут и прятать в себе скачки до 100%
  • Спин-локи: процессор загружен выполнением инструкций и имеет высокий IPC, но на самом деле приложение стоит в спин-локах и не выполняет реальной работы

Выводы

Загрузка процессора стала сегодня существенно недопонимаемой метрикой: она включает в себя время ожидания данных от ОЗУ, что может занимать даже больше времени, чем выполнение реальных команд. Вы можете определить реальную загрузку процессора с помощью дополнительных метрик, таких, как количество инструкций на такт (IPC). Значения меньшие, чем 1.0 говорят о том, что вы упираетесь в скорость обмена данными с памятью, а большие - свидетельствуют о большой загруженности процессора потоком инструкций. Инструменты замера производительности должны быть улучшены для отображения IPC (или чего-то аналогичного) непосредственно рядом с загрузкой процессора, что даст пользователю полное понимание ситуации. Имея все эти данные, разработчики могут предпринять некоторые меры по оптимизации своего кода именно в тех аспектах, где это принесёт наибольшую пользу.

В Windows 7 самым главным процессом в ОС является Svchost.exe . Очень часто пользователи ПК с Windows 7 встречаются с проблемой, когда этот процесс сильно грузит процессор. Загрузка процессорных ядер может достигать от 50 до 100 процентов. Svchost.exe является хост-процессом, отвечающим за запуск служб группы из динамических библиотек DDL . То есть система с помощью этого хост-процесса запускает группу служб, не создавая при этом лишних процессов. Такой подход снижает нагрузку на процессор и оперативную память. Если система тормозит и Svchost.exe сильно грузит процессор - это означает, что ОС неправильно работает. Такое поведение системы может вызвать вредоносная программа, а также неполадки в самой ОС. Чтобы разобраться с этой проблемой, в этом материале мы рассмотрим все способы решения задачи с сильной загрузкой процессора, вызванной процессом Svchost.exe.

Первые шаги, решающие проблему с процессом Svchost.exe

Если у вас возникла ситуация, когда хост-процесс Svchost.exe сильно нагружает процессор, то не следует сразу думать, что это вирус. Кроме вируса виновником этой проблемы может быть сама ОС. Ниже мы рассмотрим список проблем , а также методы их исправления :

Восстанавливаем нормальную работу процессора с помощью антивируса

Если вышеописанные способы не помогли, то скорей всего ваша Windows 7 заражена вирусом . Обычно заражение вирусом происходит извне. То есть через интернет или через внешний накопитель данных. Если у вас стоит хороший антивирус, то скорей всего вирус не пройдет. Но бывают случаи, когда антивирусы не видят новые версии вирусов и пропускают их. Если ваш компьютер заражен, то процесс хост Svchost.exe будет грузить процессор до 100 процентов, а также в имени пользователя вы увидите не системные имена «LOCAL» и «NETWORK SERVICE», а совсем другое имя.

Чтобы избавиться от вируса в системе, нужно запустить полную проверку компьютера в Windows 7 на поиск вредоносных программ. Ниже мы рассмотрим пример запуска полной проверки компьютера с помощью антивируса Comodo Internet Security. Также перед запуском любого антивируса для проверки ОС обновите его антивирусную базу. Двигаемся дальше и запустим антивирус Comodo Internet Security .

В главном окне антивируса перейдем к нижней вкладке «Сканирование », после чего откроется меню, в котором можно выбрать варианты сканирования.

В нашем случае нужно выбрать пункт «Полное сканирование ». Этот вариант просканирует полностью винчестер, выявит вредоносную программу и обезвредит ее . Ниже показано окно сканирования Comodo Internet Security.

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

Для этого примера мы неспроста выбрали антивирус Comodo Internet Security. В этом антивирусе есть встроенный модуль под названием KillSwitch (в настоящее время этот модуль входит в состав бесплатного набора утилит COMODO Cleaning Essentials , скачать который можно ).

Этот модуль представляет собой диспетчер задач, который обладает расширенным функционалом. Например, KillSwitch может остановить дерево процессов и вернуть назад произведенные изменения после этого.

Также особенностью KillSwitch является проверка запущенных процессов на доверие . То есть, если процесс недоверенный, KillSwitch найдет его и укажет это в третьей колонке «Оценка ». Эта особенность модуля KillSwitch поможет быстрее определить проблему, связанную с Svchost.exe и загрузкой процессора.

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

Такая проверка должна найти и обезвредить вирусы, которые заставляют Svchost.exe грузить процессорные ядра. Наиболее известными вирусами , которые грузят процессор с помощью Svchost.exe, являются:

  • «Virus.Win32.Hidrag.d » - представляет собой вирус, написанный на C++. Попав в систему, он осуществляет подмену Svchost.exe . После этого он ищет файлы с расширением «*exe» и заражает их. Вирус является безобидным, он не вредит системе и не крадет информацию. Но постоянное заражение файлов с расширением «*exe» сильно грузит процессор.
  • «Net-Worm.Win32.Welchia.a » - этот вирус представляет собой интернет-червь, который нагружает процессор путем интернет атак .
  • «Trojan-Clicker.Win32.Delf.cn » - примитивный троян, который регистрирует в системе новый процесс Svchost.exe для открытия определенной страницы в браузере , тем самым нагружая систему.
  • «Trojan.Carberp » - опасный троян, который также маскируется под Svchost.exe . Основным предназначением этого вируса является поиск и кража информации крупных торговых сетей .

Сильная загрузка процессора из-за Windows Update

На компьютерах с ОС Windows 7 часто наблюдается ситуация, когда процесс Svchost.exe грузит процессор и память из-за центра обновлений . Чтобы проверить, что именно центр обновлений грузит память и процессор, нужно зайти в «Диспетчер задач » и с помощью Svchost.exe перейти к службам, которыми в данный момент он управляет. Пример такого перехода показан на изображении ниже.

После такого перехода должно открыться окно со службами, где будет выделена служба «wuauserv ».

Именно эта служба отвечает за скачивание и установку обновлений на семерку. Исправить эту проблему достаточно просто.

В окне служб диспетчера задач можно полностью остановить «wuauserv» или в панели управления отключить проверку обновлений.

Но отключение службы «wuauserv» некрасивый выход из этой ситуации.

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

Решить эту задачу можно установкой обновлений вручную. Чтобы не скачивать десятки обновлений с сайта www.microsoft.com и потом долго их устанавливать, лучше всего воспользоваться набором обновлений UpdatePack7R2 . Разработчиком этого набора является «simplix », который также известен под этим ником и является модератором на форуме www.oszone.net. Скачать этот набор можно на сайте http://update7.simplix.info . В данный момент на сайте выложена последняя версия под номером 17.12.15. После загрузки набора можно приступать к установке обновлений. Для этого запустим инсталлятор.

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

Этот процесс может занять довольно много времени и зависит от количества уже установленных обновлений. Обновлять таким оффлайновым способом Windows 7 можно постоянно, так как автор проекта постоянно выпускает новые наборы. Также после завершения установки обновлений вы можете заново запустить центр обновлений. В этот раз проблема с загрузкой памяти и процессора должна исчезнуть, так как в этих обновлениях содержится исправление.

Остальные способы решения проблемы с загрузкой процессора из-за Svchost.exe

В этом разделе мы опишем способы, которые в некоторых случаях помогают решить проблему с Svchost.exe, а также увеличивают общую производительность и стабильность системы. Ниже приведен список с подробным описанием каждого из способов :

  • Очень часто помогает решить проблему процесса Svchost.exe, даже когда он заражен вирусом, обычный откат ОС с помощью точки восстановления . Но этим способом можно воспользоваться только в том случае, если защита системы включена.
  • При длительном использовании различных установленных программ операционная система Windows 7 накапливает на жестком диске очень много мусора . Под мусором подразумеваются временные файлы, создающиеся при использовании различных утилит. Например, файлы истории браузера. В этом случае на помощь придут специальные утилиты для очистки ОС . Наиболее популярной среди них является программа CCleaner .
  • Также советуем провести дефрагментацию , которая может повысить общую производительность системы. Дефрагментация хоть и не решит проблему с процессом Svchost.exe, но значительно ускорит его, тем самым ослабив нагрузку на процессор. Одним из лучших дефрагментаторов является утилита Defraggler , которая кроме своей основной функции еще умеет дефрагментировать системные файлы.
  • Очистка реестра также помогает решить нашу задачу. Для очистки реестра, как и в способе выше, подойдет утилита CCleaner , которая быстро удалит старые ключи реестра , мешающие правильно работать Svchost.exe.
  • Также для всех запущенных процессов, включая Svchost.exe, немаловажным фактором является исправная оперативная память. При неисправной памяти система и запущенные процессы могут вести себя нестабильно. Выходом из этой ситуации будет замена оперативки на исправную память . Проверить память на исправность можно с помощью встроенного средства диагностики в Windows 7.

Заключение

В этом материале мы довольно обширно рассмотрели проблему, связанную с сильной загрузкой процессора из-за процесса Svchost.exe. Исходя из этого, наши читатели наверняка смогут решить эту проблему и обеспечить нормальную работу компьютера.

Видео по теме

У вас постоянно загружен процессор и сильно тормозит компьютер или ноутбук? И при этом – в режиме простоя? Большая загрузка ЦП (центрального процессора) – это одна из наиболее распространенных на сегодня проблем. И с ней постоянно сталкиваются пользователи ПК и ноутбуков.

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

Эти советы – универсальны, поэтому можете применять их на Windows 7, 8, 10 и XP. Модель процессора на ноутбуке или компьютере тоже не имеет особого значения.

Для начала нужно запустить диспетчер и посмотреть, на сколько процентов загружен процессор на вашем ПК. Для этого нажмите Ctrl+Shift+Del и обратите внимание на пункт «Загрузка ЦП» (он находится внизу).

В принципе, это значение может прыгать. Но не сильно. Например, у Core i5 в режиме простоя (или при включенном браузере) грузится на 2-8%. И это норма. Хотя на слабых процессорах (например, 2-ядерных Core 2 Duo) нагрузка может быть уже 10-20%. Здесь все зависит от конкретной модели ЦП, установленной на компьютере или ноутбуке.

Если же процессор загружен на 50 или 100 процентов, то это явно перебор. Чтобы посмотреть, почему так сильно грузится процессор на Windows 7, перейдите на вкладку «Процессы», а затем нажмите на поле «ЦП». Это отсортирует список в порядке убывания.

На скриншоте ниже видно, что ЦП грузит только плагин Flash Player (из-за включенного браузера). Но не сильно, поэтому в данном случае это не критично.

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

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

Что делать, если процессор загружен без причин

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

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

  1. Запустите утилиту.
  2. Нажмите на столбец «CPU», чтобы отсортировать процессы в порядке убывания нагрузки.
  3. Смотрите, почему сильно грузится процессор.

На скриншоте выше видно, что всему виной процесс Interrupts (системные прерывания). Именно он нагружает процессор на 18% в режиме простоя. Хотя может грузить на 50 и даже на все 100 процентов!

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

  • драйверов на компьютере или ноутбуке;
  • вирусов;
  • неправильного режима работы жесткого диска;
  • проблем с периферийной техникой (принтерами, сканерами, HDD-накопителями и пр.).

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

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

Обычно эта проблема появляется из-за универсальных драйверов Microsoft, которые ставятся сразу после установки новой Windows. В данном случае лучше самостоятельно найти нужные драйвера на оф. сайте производителя и установить их. Подробнее о том, как это сделать, читайте здесь:

А еще совсем не лишним будет использование специальных утилит для поиска вредоносных программ и рекламных вирусов (adware, malware).

Некорректная работа жесткого диска тоже может повлиять на то, что процесс будет сильно загружен. Особенно, если он работает в режиме PIO (должен быть установлен режим DMA). Это нужно обязательно проверить и исправить при необходимости.

И последняя причина, из-за которой возникают системные прерывания и большая нагрузка процессора – проблемы с принтерами, сканерами и другим периферийным оборудованием. Чтобы это проверить, отключите все устройства и оставьте только мышку и клавиатуру.

Также зайдите в Пуск – Панель управления – Диспетчер устройств и посмотрите, имеются ли здесь устройства, возле которых стоит желтый восклицательный знак. Его наличие говорит о том, что оборудование работает некорректно и требуется обновить драйвер (что и нужно сделать).

Процессор постоянно загружен на 100 процентов в Windows 7

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

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

Чтобы это исправить, нужно просто отключить автоматическое обновление. Для этого:


После этого процесс 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

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

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



Понравилась статья? Поделиться с друзьями: