Руководство по устранению неполадок с высокой загрузкой ЦП
Эта статья поможет определить причину устойчивого высокой загрузки ЦП. Имейте в виду, что можно ожидать, что загрузка ЦП увеличится по мере процесса или приложения обслуживает запросы. Однако если вы постоянно видите, что загрузка ЦП остается на высоком уровне (80 процентов или больше) в течение длительного времени, производительность системы или приложения будет снизиться. По этой причине важно понимать причину устойчивого высокой загрузки ЦП, чтобы по возможности устранить проблему.
Инструменты устранения неполадок
Диспетчер задач
Используйте диспетчер задач для просмотра потребления ЦП, чтобы определить процесс или приложение, вызывающие высокую загрузку ЦП:
- Нажмите кнопку «Пуск», введите задачу, а затем выберите диспетчер задач в результатах поиска.
- В окне диспетчера задач по умолчанию используется вкладка «Процессы«. Если в столбце «Имя» отображается один список имен процессов, можно развернуть все экземпляры сгруппированных процессов.
- Выберите заголовок столбца ЦП, чтобы отсортировать список по использованию ЦП. Убедитесь, что стрелка, отображаемая в заголовке, указывает вниз, чтобы отсортировать данные от наибольшего к наименьшему потреблению ЦП.
Если процесс можно остановить или связанную службу можно отключить, остановите процесс или службу. Затем проверьте, устраняет ли это проблему.
Монитор ресурсов
Используйте монитор ресурсов для просмотра потребления ЦП:
- Нажмите кнопку «Пуск», введите команду resmon, а затем выберите «Монитор ресурсов » в результатах поиска.
- В окне «Монитор ресурсов » выберите вкладку «ЦП «.
Примечание. Чтобы просмотреть все данные, может потребоваться развернуть окно.
Если какой-либо из процессов показывает более высокую, чем ожидалось, скорость потребления для вашей среды, сначала рассмотрите эти основные процессы при попытке определить причину проблемы.
Обозреватель процессов
Средство обозревателя процессов предоставляет полный обзор процессов, выполняемых на компьютере, включая сведения о том, кто вызывает процессы, а также об общем числе используемых системных ресурсов.
Если вы хотите проверить процесс, связанный с операционной системой (например, System), выполните следующие действия:
- Запустите обозреватель процессов от имени администратора.
- Щелкните правой кнопкой мыши процесс, выберите «Свойства» и откройте вкладку «Потоки «.
- Выберите поток, использующий высокую загрузку ЦП, а затем выберите «Стек «, чтобы просмотреть выполняемые функции.
Чтобы получить более подробные сведения о стеке, настройте символы в обозревателе процессов. Для этого выполните следующие действия:
- Установите средства отладки для Windows.
- Запустите обозреватель процессов от имени администратора.
- Выберите меню «Параметры «, а затем выберите «Настроить символы».
- Измените Dbghelp.dll на C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dllи нажмите кнопку «ОК».
Распространенные сценарии устранения неполадок
В этом разделе описываются сценарии различных процессов, использующих высокую загрузку ЦП.
Уникальный именованный уникальный процесс Майкрософт
- Сбор журнала монитора производительности. Используйте интервал моментального снимка от 1 до 5 секунд.
- Сбор журнала записи производительности Windows (WPR) во время высокой загрузки ЦП.
Примечание. Не разрешите этому журналу выполняться в течение длительного времени, так как файл растет очень быстро. Чтобы фиксировать высокую загрузку ЦП, необходимо запустить журнал только в течение нескольких минут (от трех до пяти).
Процесс Svchost
Если процесс svchost использует высокую загрузку ЦП и процесс svchost содержит несколько служб, необходимо разбить каждую службу на выполнение в собственном процессе svchost, чтобы определить, какая служба вызывает высокую загрузку ЦП. Для этого выполните указанные ниже действия.
- Откройте окно командной строки с повышенными привилегиями.
- Разведите каждую службу на отдельный процесс svchost, если это общий процесс svchost. Для этого выполните следующую команду.
sc config type= own
Примечание. В этой команде замените <имя службы> фактическим именем службы.
Важно! После устранения проблемы необходимо вернуться к шагу 2 и отменить то, что вы сделали. Для этого замените его sc config
Несколько экземпляров процессов с одинаковыми именами
Несколько экземпляров процесса могут иметь одно и то же имя. Например, эта проблема может возникнуть с explorer.exe на сервере протокола удаленного рабочего стола (RDP).
Чтобы устранить эту проблему, выполните следующие действия.
- Сбор журнала монитора производительности. Используйте интервал моментального снимка от 1 до 5 секунд.
- Соберите журнал WPR во время возникновения проблемы.
- Запустите ProcDump два раза во время высокой загрузки ЦП. Интервал между выполнением на несколько минут.
- Запишите идентификатор процесса, который является неугодным, выполнив следующую команду: tasklist /v /fo csv >Running_Process.txt
Процесс стороннего приложения
Если в качестве причины проблемы определен третий процесс, необходимо обратиться к поставщику приложения, чтобы понять, почему соответствующий процесс приводит к высокой загрузке ЦП на компьютере.
Сбор данных
До возникновения проблемы
Для дальнейшего устранения этой проблемы можно использовать диагностику отладки версии 2.0. Чтобы использовать средство, выполните следующие действия.
Важно! Удалите все остальные версии средства диагностики отладки перед установкой версии 2.0.
При возникновении проблемы
- Откройте коллекцию DebugDiag 2.
- Перейдите на вкладку «Процессы», щелкните правой кнопкой мыши рабочий процесс, соответствующий соответствующему пулу приложений, а затем выберите команду «Создать полный пользователь».
- Повторите шаг 2 три раза, пока загрузка ЦП высока.
- Остановите ведение Монитор производительности журнала.
- Сжатие данных с помощью DebugDiag. Для этого выберите » Инструменты>«, чтобы создать cab-файл приращения.
На случай, если вам нужно связаться с служба поддержки Майкрософт, рекомендуется сохранить собранные служба поддержки Майкрософт.
Обратная связь
Были ли сведения на этой странице полезными?
Мониторинг температуры и нагрузки процессора в Windows
Компьютер — это ваш рабочий инструмент, где необходимо поддерживать порядок, чтобы он работал стабильно, и процесс обучения проходил максимально комфортно.
Если вы замечаете, что ваш компьютер очень медленно работает или тормозит, проверьте, что нагружается в нем до критичной отметки.
Инструкция для Windows
№1. Загрузка центрального процессора
1. Нажмите на клавиатуре одновременно клавиши Ctrl+Alt+Del и выберите «Диспетчер задач».
2. Выберите закладку «Производительность» → «ЦП» и «Память».
Если ваш компьютер загружен на 90-100% по одному из этих параметров, рекомендуем:
- закрыть некоторые программы и процессы, чтобы снизить нагрузку;
- задуматься над увеличением производительности компьютера.
№2. Температура процессора
- Перейдите по ссылке → «Download» → установите программу Speecy на свой компьютер.
- Перейдите по ссылке и зайдите в свой личный кабинет.
- Откройте любой урок в Виртуальном классе.
Если перегрев вашего процессора более 60℃, то мы настоятельно рекомендуем отнести ваш компьютер в чистку (чтобы почистили систему охлаждения и заменили термопасту). Запускать это нельзя, если процессор выйдет из строя из-за перегрева, придется менять всю материнскую плату.
№3. Дополнительные рекомендации: про автозагрузку
Часто происходит, что устанавливаемые программы добавляют себя в список автозапуска.
С некоторыми программами это удобно, если вы пользуетесь им каждый день. Но такие программы, как Torrent или Team Viewer, вы не захотите видеть постоянно включенными сразу при запуске. Тем более это сильно замедляет включение компьютера.
Как их отключить:
- Нажмите на клавиатуре одновременно клавиши Ctrl+Alt+Del и выберите «Диспетчер задач».
- Выберите закладку «Автозагрузка».
- Выберите нужные вам приложения и нажмите «Отключить».
№4. Дополнительные рекомендации: про статистику
Как сама система, так и большинство программ, которыми вы пользуетесь, ведут статистику работы, сохраняют временные файлы, кэш, отчеты и прочее.
Со временем это начинает замедлять работу системы. Что можно с этим сделать? Регулярно чистить систему от временных файлов и ошибок реестра следующим способом:
- Перейдите по ссылке → «Скачать» → «Скачать CCleaner» → «Скачать бесплатно» → установите программу на свой компьютер.
- Во вкладке «Реестр» запустите поиск проблем, когда наберется 100% нажмите «Исправить» → «Исправить отмеченные».
Вы нашли ответ на свой вопрос?
Как посмотреть программы, замедляющие Windows 10.
Ваша система Windows 10 загружается очень медленно? Хотите узнать, какие программы замедляют загрузку Windows 10? Хотите ускорить загрузку Windows 10 PC? В этом руководстве мы узнаем, как посмотреть программы, замедляющие время загрузки Windows 10.
Программы и приложения, настроенные для запуска вместе с Windows 10, могут значительно замедлить процесс загрузки Windows 10. Многие программы автоматически настраиваются для запуска при старте Windows. Например, Microsoft OneDrive автоматически запускается с Windows.
Поиск программ, замедляющих загрузку Windows 10.
Когда вы включаете свой компьютер, Windows загружает рабочий стол, значки на рабочем столе, десятки служб, системных процессов и программы, которые настроены на автозагрузку вместе с Windows.
Каждая программа в автозагрузке увеличивает время запуска вашего ПК с Windows 10. Хотя некоторые программы оказывают минимальное влияние на время загрузки, некоторые программы значительно ее замедляют.
Если у вас десятки программ, стартуют вместе с Windows 10, отключить их все, чтобы ускорить время загрузки, не имеет смысла. Поиск программ, которые оказывают большое влияние на процесс загрузки и их отключение, — лучший способ ускорить запуск системы.
К счастью, Windows 10 позволит вам легко узнать о влиянии программы на загрузку. Фактически, вы даже можете узнать активность процессора во время запуска программы и отключить только те программы, которые вызывают высокий уровень использования ЦП.
ВАЖНО: Хотя и безопасно отключать большинство программ автозагрузки, отключение важных программ может оказаться нецелесообразным. Например, если вы отключите OneDrive, он не будет синхронизироваться в фоновом режиме. Вам придется вручную открыть программу после загрузки Windows 10.
Следуйте приведенным ниже инструкциям, чтобы узнать, как ускорить процесс загрузки Windows 10 и отключить приложения, замедляющие ее.
Поиск программ, замедляющих время загрузки Windows 10.
Шаг 1: Откройте диспетчер задач. Использовать сочетание клавиш Ctrl + Shift + Esc — самый простой способ.
Шаг 2: Если вы не видите полную версию Диспетчера задач, нажмите кнопку «Подробнее», чтобы открыть полную версию.

Шаг 3: Перейдите на вкладку «Автозагрузка», нажав на нее. Как вы видите на рисунке ниже, на вкладке перечислены все программы, которые загружаются с Windows 10.

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

Шаг 4: Мы советуем отключить программы, которые оказывают высокое или низкое влияние на загрузку. И игнорировать программы с средним влиянием. Тем не менее, вы можете отключить нежелательные программы, даже если они оказывают низкое влияние на загрузку системы.
Чтобы узнать о активности процессора и активности диска при запуске, нажмите правой кнопкой мыши по одной из вкладок, а затем выберите «ЦП при запуске» и «Дисковый ввод-вывод при запуске».


Если активность процессора в программе составляет более 300 мс, имеет смысл отключить программу (кликните ее правой кнопкой мыши и выберите «Отключить»), если вы не хотите, чтобы программа запускалась с Windows 10.

Если вы не уверены в программе, просто нажмите ее правой кнопкой мыши и затем кликните «Поиск в интернете», чтобы узнать больше о программе. Примечание: Отключение антивирусных и других программ безопасности крайне не рекомендуется.
Если вы допустили какую-либо ошибку или обнаружили другие проблемы после отключения программы, вы можете включить ее снова, кликнув ее правой кнопкой мыши (Диспетчер задач → Автозагрузка), а затем выбрать параметр «Включить».
Вам может быть интересно: Где хранятся записи Автозагрузки в Windows 10.
Анализ использования ЦП без использования отладки в Профилировщике производительности (C#, Visual Basic, C++, F#)
Хороший способ начать исследование проблем производительности в приложении — определить загрузку ЦП. Средство оценки производительности Загрузка ЦП показывает время и процент ресурсов ЦП, затраченные на выполнение кода в приложениях C++ и C#/Visual Basic.
Средство Загрузки ЦП поможет вам:
- Выполнять диагностику замедления или зависания процесса в базе кода вашей команды. Средство может помочь вам диагностировать проблему с производственным кодом вашей команды. Оно выдает автоматизированную аналитику и различные представления данных для изучения проблем с производительностью.
- Определять проблемы с производительностью в сценариях DevOps, например когда клиент сообщает, что на веб-сайте розничной торговли не срабатывают какие-то запросы или заказы в разгар сезона. Часто проблемы возникают в рабочей среде и выполнить отладку в текущий момент непросто, однако наш инструмент поможет вам собрать о проблеме достаточно свидетельств и данных. Получив файл трассировки, он поможет быстро проанализировать потенциальные причины проблем и даст рекомендации в контексте кода, чтобы вы могли внести исправления.
- Если проблема с задержкой отсутствует в запросе API, вы можете проверка для высокой загрузки ЦП и других связанных проблем с средством использования ЦП. Средство использования ЦП поможет определить узкие места, чтобы можно было сузить место оптимизации.
Средство Загрузка ЦП подходит как для локальных сеансов трассировки, так и для рабочей среды. Средство Загрузки ЦП также можно вызвать, нажав клавиши ALT+F2 и выбрав Загрузка ЦП или открыв уже собранную трассировку в таких средствах, как dotnet-trace или dotnet-monitor. (Это наиболее вероятный способ сбора трассировок для производственного кода .NET.)
Средство Загрузка ЦП может выполняться для открытого проекта Visual Studio, для установленного приложения Microsoft Store либо подключаться к запущенному приложению или процессу. Средство Загрузка ЦП можно запустить с отладкой или без нее. Дополнительные сведения см. в разделе Запуск средств профилирования с отладчиком или без него.
Ниже показано, как использовать средство Загрузка ЦП без отладчика, используя Профилировщик производительности Visual Studio. В примерах используется сборка выпуска на локальном компьютере. Сборки выпуска дают наилучшее представление о фактической производительности приложения. Сведения об анализе загрузки ЦП с использованием сборок отладки (с подключенным отладчиком) см. в разделе Руководство по профилированию производительности для начинающих.
Обычно выполнение установленного приложения лучше всего отражается на локальном компьютере. Чтобы собрать данные с удаленного устройства, запустите приложение непосредственно на устройстве, не используя подключение к удаленному рабочему столу.
Для использования Профилировщика производительности требуется Windows 7 или более поздней версии.
Сбор данных об использовании ЦП
- В проекте Visual Studio установите для решения конфигурацию Выпуск и выберите цель развертывания Локальный отладчик Windows (или Локальный компьютер).




Примечание. Дополнительные сведения о том, как сделать средство более эффективным, см. в статье Оптимизация параметров профилировщика.


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


Столбцы данных об использовании ЦП
| Имя | Описание |
|---|---|
| Общая активность ЦП [единица измерения, %] |
|
Анализ аналитики ЦП
Чтобы проанализировать основные аналитические сведения, основные функции и горячий путь, ознакомьтесь с аналитическими сведениями о ЦП.
Анализ отчета об использовании ЦП
Чтобы проанализировать отчет, нажмите кнопку «Открыть сведения» или щелкните одну из основных функций, чтобы открыть представление «Функции «.
В отчете представлены различные представления диагностических данных:
- Вызывающий или вызывающий
- Дерево вызовов
- Модули
- Функции
- Flame Graph
Чтобы проанализировать отчет, нажмите кнопку «Создать подробный отчет«.
В отчете представлены различные представления диагностических данных:
- Вызывающий или вызывающий
- Дерево вызовов
Во всех представлениях, кроме вызывающего или вызываемого абонента, отчет диагностики сортируется по общей ЦП, от самого высокого до самого низкого. Измените порядок сортировки или столбец сортировки, выбирая заголовки столбцов. Вы можете дважды щелкнуть интересующую вас функцию, и вы увидите источник для функции, а также выделение, показывающее, где время тратится в этой функции. В таблице отображаются столбцы с данными, такими как время, затраченное на выполнение функции, включая вызываемые функции (ЦП (всего)), и второй столбец, показывающий время, затраченное на выполнение функции, за исключением вызываемых функций (Собственная активность ЦП).
Эти данные помогают оценить, является ли сама функция узким местом производительности. Определите объем данных, отображаемых методом, чтобы узнать, являются ли сторонние библиотеки кода или библиотеки среды выполнения причиной медленного или интенсивного использования ресурсов конечными точками.
Дополнительные сведения об использовании диаграммы «Пламя» см. в разделе «Определение горячих путей» с помощью «Граф пламени».
Дерево вызовов средства «Использование ЦП»
Чтобы просмотреть дерево вызовов, выберите родительский узел в отчете. По умолчанию страница «Использование ЦП» открывается в представлении вызывающего или вызываемого абонента . В раскрывающемся списке Текущее представление выберите Дерево вызовов.
Нажмите кнопку «Развернуть горячий путь» и «Показать горячий путь«, чтобы увидеть вызовы функций, использующие самый высокий процент ЦП в представлении дерева вызовов.
Структура дерева вызовов


| Изображения | Description |
|---|---|
![]() |
Узел верхнего уровня в деревьях вызовов для использования ЦП представляет собой псевдоузел. |
![]() |
В большинстве приложений при отключенном параметре Показать внешний код узлом второго уровня является узел [Внешний код]. Он содержит код системы и инфраструктуры, запускающий и останавливающий приложение, отрисовывающий пользовательский интерфейс, управляющий планированием потоков и предоставляющий приложению другие низкоуровневые службы. |
![]() |
Дочерними элементами узла второго уровня являются методы пользовательского кода и асинхронные подпрограммы, которые вызываются или создаются кодом системы и инфраструктуры на втором уровне. |
![]() |
Дочерние узлы метода содержат данные только для вызова родительского метода. Если параметр Показать внешний код отключен, методы приложения также могут содержать узел [Внешний код] . |
Внешний код
Функции системы и платформы, исполняемые вашим кодом, называются внешним кодом. Функции внешнего кода запускают и останавливают приложение, отрисовывают пользовательский интерфейс, управляют потоками и предоставляют приложению другие низкоуровневые службы. В большинстве случаев внешний код вас интересовать не будет, поэтому дерево вызовов средства «Использование ЦП» собирает внешние функции пользовательского метода в один узел [Внешний код].
Для просмотра путей вызова внешнего кода переключите текущее представление на Дерево вызовов или щелкните правой кнопкой мыши и выберите Просмотреть в дереве вызовов.

Чтобы посмотреть пути вызовов внешнего кода, на главной странице диагностического отчета (область справа) выберите Показать внешний код в раскрывающемся списке Фильтр и выберите Применить. Представление Дерево вызовов на странице Загрузка ЦП развертывает вызовы внешнего кода. (Раскрывающийся список Фильтр можно найти на главной странице диагностики, а не в представлениях с подробными сведениями.)

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

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

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


Асинхронные функции в дереве вызовов использования ЦП
Если компилятор обнаруживает асинхронный метод, он создает скрытый класс для контроля выполнения этого метода. По сути, этот класс представляет собой конечный автомат. Класс содержит созданные компилятором функции, которые асинхронно вызывают исходные методы, а также обратные вызовы, планировщик и итераторы, необходимые для их выполнения. При вызове исходного метода родительским методом компилятор удаляет метод из контекста выполнения родительского метода и выполняет методы скрытого класса в контексте кода системы и платформы, который управляет выполнением приложения. Асинхронные методы часто, но не всегда выполняются в отдельном потоке (или в нескольких потоках). Этот код отображается в дереве вызовов средства Загрузка ЦП в виде дочерних элементов узла [Внешний код] сразу под верхним узлом дерева.
В следующем примере два первых узла в узле [Внешний код] представляют собой созданные компилятором методы класса конечного автомата. Третий узел является вызовом исходного метода.

Разверните созданные методы, чтобы узнать, как это работает:


- MainPage::GetMaxNumberAsyncButton_Click просто управляет списком значений задач, вычисляет максимальное значение на основе результатов и отображает выходные данные.
- MainPage+d__3::MoveNext показывает время ЦП, затраченное на планирование и запуск 48 задач, которые являются оболочкой вызова GetNumberAsync .
- MainPage::b__b показывает время ЦП, затраченное на выполнение задач, которые вызывают GetNumber .
Сбор счетчиков вызовов (.NET)
Если вы хотите просмотреть количество вызовов в представлении «Функции», можно включить параметр перед началом профилировщика. Этот параметр поддерживается для типов проектов .NET и требует запуска процесса в профилировщике. Сценарий подключения не поддерживается.
- Щелкните значок Параметры для использования ЦП в профилировщике производительности.

- Включите параметр «Только счетчики вызовов сбора» (только для .NET).

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

Связанный контент
- Устранение неполадок Profiler
- Определение критических путей с помощью графа пламени



