Как узнать что жрет процессор. Процесс system грузит процессор: почему это происходит и как исправить проблему

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

В данной статье мы дадим несколько дельных советов по поводу решения данной проблемы.

Причины, по которым процессор может быть загружен на 100%

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

  1. Работа фоновых системных процессов по установке и загрузке обновлений операционной системы, а также ее обслуживание;
  2. Вирусная активность;
  3. Физическое устаревание процессора.

Теперь о каждой более подробно.

Работа фоновых системных процессов

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

svchost грузит процессор

Также не исключены периодические проверки ОС на наличие угроз встроенными средствами защиты.

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

Вирусная активность и вирусы — майнеры

Вторая очень распространенная причина по которой компьютер без видимых программ загружает свой процессор на 100% непонятно чем это вредоносные программы. Так, например, сейчас очень популярен так называемый вирус — майнер. Попадает он на компьютер чаще всего при скачивании и установке чего либо из интернета. А суть его работы проста — при попадании на компьютер запускаются специальные алгоритмы по добыче на вашем компьютере биткоинов и отправке результатов через интернет на определенный адрес. Таким образом на вашем компьютере злоумышленники зарабатывают, тем самым оставляя вас с тормозящим компьютером, так как его процессор загружен на 100%. При этом они маскируются под названия системных процессов!

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

Устаревание компьютера и процессора в частности

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

Вывод

Как видите возможных вариантов не так много. И метод устранения проблемы с загрузкой ЦП на 100 процентов следующий:

  1. Проверяем процессор, чтобы он не был слишком старым;
  2. Оставляем компьютер на несколько часов включенным и подключенным к интернету;
  3. Проверяем его на вирусы;
  4. Также можно открыть диспетчер задач, отсортировать процессы по нагрузке на процессор и почитать о процессе, который больше всего грузит процессор в интернете;
  5. В самом крайнем случае, если ничего не помогает — переустанавливаем Windows и сразу .

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

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

Бывают случаи, что процессор постоянно нагружен на 100%, при этом никаких действий на компьютере не выполняется. Допустим, просто открыт рабочий стол, а в диспетчере задач показана загрузка центрального процессора на самый максимум.

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

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

Что нагружает процессор?

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

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

Какие могут быть последствия от сильной нагрузки процессора?

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

Медленная работа компьютера — при сильной нагрузке окна будут открываться очень медленно. Будут видны всевозможные «артефакты» при открытии. И просто будет невозможно использовать компьютер.

Как посмотреть чем нагружен процессор?

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

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

Чтобы увидеть процент нагрузки на процессор, откройте диспетчер задач и во вкладке «Производительность» будет выявлен график, который показывает нагрузку на каждое ядро, а также, на весь процессор.

На Windows 8 это выглядит немного иначе: при открытии Диспетчера задач его нужно расширить, нажав на кнопку Подробнее.

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

Итак, если у вас процессор загружен на 100%, показана его максимальная тактовая частота, то нужно для начала убрать лишние программы из автозапуска (в описано все в подробностях о автозагрузке).

На операционной системе Windows 8 функция автозапуска расположена в более удобном месте — диспетчере задач.

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

Вирусы

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

Антивирусы

Как бы это странно не выглядело, но антивирусы могут сильно нагружать процессор. Рекомендуется не использовать антивирусы, а пользоваться лечащими утилитами раз в месяц. Они не требуют установки, но все же эффективнее, чем постоянно работающий антивирус (пример такой утилиты — dr.Web CureIt!).

Нестабильно работает система охлаждения

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

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


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

  • фоновые программы, например, программы загрузки;
  • программы системного мониторинга, к примеру, программы-агенты;
  • вирусы;
  • прочие программы мониторинга, к примеру, spyware и adware программы;
  • конфигурационные проблемы системы, например, некорректные драйверы;
  • аппаратные проблемы, например, проблемы установки материнской платы.

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

В Windows 9х доступ к диспетчеру задач осуществляется несколько сложнее, чем в версиях NT и Выше. Чтобы открыть диспетчер задач в Windows 9х, нажмите клавиши Ctrl+Alt+Delete и в появившемся диалоговом окне Вы увидите список приложений, запущенных в вашей системе. К сожалению, системы Windows 9х лишены некоторых средств, доступных в более поздних версиях. Например, диспетчер задач не позволяет определить объем памяти, потребляемый каждым приложением и общую производительность системы.

Пользователи Windows 2000 не увидят вкладку Сеть. Хотя данная вкладка упоминается в этой книге нечасто, она удобна при оптимизации удаленных приложений и приложений, использующих ресурсы других компьютеров. Для получения доступа к аналогичным средствам Windows 2000 Вам необходимо воспользоваться оснасткой Системный монитор консоли Быстродействие, расположенной в папке Администрирование панели управления .

Оставьте компьютер в покое - не трогайте мышь и клавиатуру. Через несколько секунд индикатор в левом верхнем углу должен показать значение в интервале от 0 до 5 %. При таком значении загрузки в состоянии покоя проблемы с использованием процессора нет - система располагает максимумом ресурсов для фоновых приложений. Строго говоря, ненулевое значение свидетельствует о проблеме, однако она не настолько серьезна, чтобы думать о ее разрешении.

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

Еще одну проблему могут вызвать неполадки с аппаратным обеспечением или драйвером. Например, некоторые старые материнские платы содержат некорректно реализованные дополнительные компоненты, что приводит к 50-процентному потреблению мощности процессора в любой момент времени, даже если процессор не выполняет полезной работы. Один из примеров молено найти в статье http://support.microsoft.com/7kbid = 241532 базы знаний Microsoft.

Драйверы также могут стать источниками проблем. Некорректный драйвер способен значительно увеличить нагрузку на процессор, что проявляется в состоянии покоя системы. Пример см. в статье http://support.microsoft.com/7kbid = 822603 базы знаний Microsoft.

Высокая загрузка процессора может являться следствием внешних факторов, например, атаки вида отказа в обслуживании. Более подробную информацию см. в статье http://support.microsoft.com/7kbid = 273854 базы знаний Microsoft.

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

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

Часто компьютер начинает тормозить из-за загрузки процессора. Если так случилось, что его нагрузка достигает 100% без видимой на то причины, значит есть повод беспокоиться и нужно срочно решать данную проблему. Существует несколько простых способов, которые помогут не только выявить проблему, но и решить ее. Их подробно мы рассмотрим в этой статье.

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

Способ 1: Поиск и устранение процесса

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

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


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

Способ 2: Очистка от вирусов

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

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

Способ 3: Обновление драйверов

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

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

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

Способ 4: Очистка компьютера от пыли

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

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

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

  • Перевод

Та метрика, которую мы называем «загрузкой процессора» на самом деле многими людьми понимается не совсем верно. Что же такое «загрузка процессора»? Это то, насколько занят наш процессор? Нет, это не так. Да-да, я говорю о той самой классической загрузке 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 (или чего-то аналогичного) непосредственно рядом с загрузкой процессора, что даст пользователю полное понимание ситуации. Имея все эти данные, разработчики могут предпринять некоторые меры по оптимизации своего кода именно в тех аспектах, где это принесёт наибольшую пользу.


Top