76

Я заметил, что с некоторых пор моя система зависает, и это, вероятно, вызвано высокой загрузкой ЦП, вызванной системным процессом.

Все приложения, которые я запускаю, - это Skype, TeamSpeak и Chrome, поэтому определенно не следует использовать такое количество процессорного времени.

Вы можете увидеть саму проблему и запущенные процессы на скриншоте ниже:

Иногда загрузка процессора достигает 90%, но в среднем загрузка составляет 40-65%.

Параметры моего ПК:

  • Windows 8 (предварительный просмотр клиента)
  • Intel Core i3 - 2350M
  • 8 ГБ ОЗУ

Буду признателен за любую попытку помощи! С уважением.

--ОБНОВИТЬ--

Поскольку пользователь ниже опубликовал отличный ответ, я заметил, что процесс, который потребляет больше всего ресурсов процессора , называется Arthurx.sys , простой Google сообщает, что это драйвер TPLink (адаптер Wi-Fi, я купил как 2 недели назад !) драйверы были установлены из Windows MSDN, но также пытались установить драйверы с прилагаемого компакт-диска, но это не помогает. С момента запуска системы он использует только 5% процессорного времени, но после 2-4 часов работы он растет и достигает 40-60% загрузки процессора.

Название устройства: TPLink WN722N

5 ответов5

77

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

Загрузите и запустите его, затем выберите процесс «Система», щелкните правой кнопкой мыши и выберите «Свойства»:

Перейдите на вкладку Threads (игнорируйте диалоговое окно, в котором упоминаются символы):

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

Однако, как уже говорили другие в комментариях, вам действительно нужно как можно скорее отойти от предварительных версий!

68

Для диагностики проблем использования ЦП следует использовать трассировку событий для Windows (ETW) для сбора данных / профиля выборки ЦП.

Для захвата данных установите Windows Performance Toolkit, который является частью Windows SDK.

Windows 10 WPT можно использовать в Windows 8/Server 2012, Windows 8.1/Server 2012R2 и Windows 10/Server 2016. Если вы все еще используете Windows 7, используйте SDK/WPT с Build 15086.

(все остальные записи могут быть не выбраны)

Теперь запустите WPRUI.exe выберите First Level при ресурсах выберите загрузки ЦП и нажмите на старте.

Теперь запишите 1 минуту использования процессора. Через 1 минуту нажмите Сохранить.

Теперь проанализируйте сгенерированный файл ETL с помощью анализатора производительности Windows , перетащив и опустив график CPU Usage (sampled) на analysis pane и упорядочив столбцы, как показано на рисунке:

Внутри WPA загрузите символы отладки и разверните стек процесса SYSTEM. В этой демонстрации загрузка ЦП происходит от драйвера nVIDIA.


В следующей демонстрации загрузка ЦП происходит от драйвера сетевой карты Realtek:


Когда вы видите звонки, как ntoskrnl.exe!Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe!Mm Verifier TrimMemory, ntoskrnl.exe!Verifier KeLeaveCriticalRegion, это означает, что у вас включен драйвер Driver Verifier. Это также сильно снижает производительность и приводит к высокому использованию СИСТЕМЫ. Отключите проверку драйверов и перезагрузите компьютер.


В этой демонстрации драйвер iai2ce.sys (драйвер контроллера Intel Serial IO GPIO) вызывает его:


В этом примере загрузка ЦП происходит из файла rtsuvc.sys который выглядит как Realtek UVC webcam Driver


Эта демонстрация показывает, что драйвер Bitdefender ignis.sys


В следующем примере загрузка ЦП определяется драйвером сети bcmwl664.sys


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

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


Когда вы видите эти ntoskrnl.exe!RtlpGenericRandomPatternWorker, ntoskrnl.exe!RtlpTestMemoryRandomUp вызывает

загрузка ЦП происходит из ядра для проверки памяти на наличие проблем (memtest). Это использование запускается через задачу обслуживания в режиме ожидания Windows 8.1/10. Вы можете использовать планировщик заданий, чтобы отключить незанятую задачу.

В Windows 10 эта задача называется RunFullMemoryDiagnostics в Microsoft> Windows> MemoryDiagnostic> RunFullMemoryDiagnostic.


В этом случае загрузка ЦП, по-видимому, происходит от функции дедупликации данных (dedup.sys!DdpPostCreate) Windows Server:


В этой демонстрации загрузка ЦП вызвана драйвером карты WIFI athrx.sys

Ищите обновление драйвера, если видите это.


В следующей демонстрации задействован драйвер citrix:

Поэтому свяжитесь с вашим ИТ-специалистом, чтобы решить проблемы Citrix.


В этой демонстрации функция usbhub.sys!UsbhPortRecycle вызывает использование процессора:

Изменение портов USB2.0 на скорость 1.1 или подключение USB-накопителей к другим портам USB 2.0 помогло некоторым пользователям.


В этом случае небольшой объем использования СИСТЕМЫ исходит от драйвера Acronis tdrpm251.sys:


В этой демонстрации использование процессора ntoskrnl.exe!KeAcquireSpinLockRaiseToDpc и ntoskrnl.exe!KeReleaseSpinLock .

поэтому драйвер очень сильно использует SpinLocks . Отключите некоторые устройства / драйверы, пока не увидите тот, который вызывает его.


В этом случае загрузка процессора вызвана драйвером L1C62x64.sys

Это качественный гигабитный драйвер qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet . Поэтому обновите драйвер, если вы видите его в стеке.


Здесь загрузка ЦП происходит при сканировании файла хоста (netbt.sys!DelayedScanLmHostFile)

убедитесь, что файл hosts не слишком велик, чтобы избежать такого использования.


В этом случае загрузка процессора происходит от SRTSP64.SYS от Symantec.

Обновите использованный продукт Symantec до последней версии.


Здесь загрузка ЦП происходит от драйвера AMD GPU (atikmdag.sys)

если вы видите это, перейдите на сайт AMD и получите последнюю версию драйвера для вашей карты AMD.


Здесь драйверы TMXPFlt.sys и VsapiNt.sys вызывают высокую загрузку ЦП.

Из того, что я вижу, эти файлы являются частью пакета Trend Micro AV. Обновите инструмент или удалите его.


В этом примере загрузка ЦП происходит из функции ntoskrnl.exe!MmGetPageFileInformation

Эта функция получает информацию о файле подкачки.

Описание процедуры: эта процедура возвращает информацию о текущих активных файлах подкачки.

Отключите файл подкачки, перезагрузите и включите его снова, и посмотрите, исправит ли это. Кроме того, удаление служб Intel (например, службы Intel Content Protection HECI), кажется, исправило это для пользователя.


Здесь вы можете видеть, что драйвер Netwtw04.sys (драйвер Intel Wifi) вызывает функцию flushCompleteAllPendingFlushRequests и это вызывает высокую загрузку ЦП.

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

Здесь вы должны установить последнюю версию драйвера от Intel, чтобы исправить это.


Наиболее сложным случаем использования SYSTEM является использование ACPI.sys в стеке вызовов:

Line #, DPC/ISR, Module, Stack, Count, Process, Weight (in view) (ms), TimeStamp (s), % Weight
6, , ,   |    |- ACPI.sys!ACPIWorkerThread, 40246, , 39.992,941063, , 4,13
7, , ,   |    |    ACPI.sys!RestartCtxtPassive, 40246, , 39.992,941063, , 4,13
8, , ,   |    |    ACPI.sys!InsertReadyQueue, 40246, , 39.992,941063, , 4,13
9, , ,   |    |    ACPI.sys!RunContext, 40246, , 39.992,941063, , 4,13
10, , ,   |    |    ntoskrnl.exe!KeReleaseSpinLock, 40246, , 39.992,941063, , 4,13
11, , ,   |    |    ntoskrnl.exe!KiDpcInterrupt, 40246, , 39.992,941063, , 4,13
12, , ,   |    |    ntoskrnl.exe!KiDispatchInterruptContinue, 40246, , 39.992,941063, , 4,13
13, , ,   |    |    ntoskrnl.exe!KxRetireDpcList, 40246, , 39.992,941063, , 4,13
14, , ,   |    |    ntoskrnl.exe!KiRetireDpcList, 40246, , 39.992,941063, , 4,13
15, , ,   |    |    |- ntoskrnl.exe!KiExecuteAllDpcs, 40198, , 39.945,173325, , 4,13
16, , ,   |    |    |    |- ACPI.sys!ACPIInterruptDispatchEventDpc, 27565, , 27.408,930428, , 2,83
17, , ,   |    |    |    |    |- ACPI.sys!ACPIGpeEnableDisableEvents, 24525, , 24.384,921620, , 2,52
18, , ,   |    |    |    |    |    ACPI.sys!ACPIWriteGpeEnableRegister, 24525, , 24.384,921620, , 2,52
19, , ,   |    |    |    |    |    |- hal.dll!HalpAcpiPmRegisterWrite, 24421, , 24.281,015516, , 2,51
20, , ,   |    |    |    |    |    |    |- hal.dll!HalpAcpiPmRegisterWritePort, 24166, , 24.027,316013, , 2,48

это чрезвычайно сложно отладить. В теме sysinternals я перечислил несколько советов:

  • убедитесь, что процессор не перегревается из-за пыли в вентиляторе процессора
  • обновить или повторно прошить (тот же) BIOS/UEFI
  • загрузить настройки BIOS/UEFI по умолчанию
  • убедитесь, что аккумулятор не поврежден, выньте аккумулятор из ноутбука или отключите аккумулятор в диспетчере устройств.
  • замените перемычку на жестком диске, если вы заменили дисковод DVD/Blue-Ray на диск для установки твердотельного накопителя рядом со старым жестким диском


В следующей демонстрации проблема возникает с драйвером Intel HD igdkmd64.sys версии 4545 для Intel HD 630:

Решение - обновить драйвер до версии не ниже .4590.


В следующем случае загрузка ЦП процесса SYSTEM вызвана драйвером stdriverx64.sys

Кажется, это драйвер потокового аудио. Поэтому обновите это программное обеспечение / драйвер, если вы видите это в WPA.


Если вы видите драйвер с именем risdxc64.sys в стеке вызовов SYSTEM, который вызывает высокую загрузку ЦП, обновите драйвер хост-контроллера Ricoh PCIe SDXC/MMC или отключите устройство чтения карт SD в диспетчере устройств, если обновление не выполняется ни одним драйвером.

Этот кард-ридер SD встроен во многие устройства Lenovo.


3

Замечание о загрузке символов отладки для добавления к отличному ответу magicandre1981: если загрузка символов в Windows Performance Analyzer работает правильно, после того, как вы отметите Trace> Load Symbols, вы должны увидеть индикатор прогресса вверху с символами загрузки, который показывает имена файлов рядом с ним и занимает несколько минут, чтобы закончить. Также вы должны увидеть много строк, как показано ниже в диагностической консоли:

SYMSRV:  File: Accessibility.ni.pdb

SYMSRV:  Notifies the client application that a proxy has been detected.
SYMSRV:  Connecting to the Server: http://msdl.microsoft.com/download/symbols.
SYMSRV:  Successfully connected to the Server.
SYMSRV:  Sending the information request to the server.
SYMSRV:  Successfully sent the information request to the server.
SYMSRV:  Waiting for the server to respond to a request.
SYMSRV:  Successfully received a response from the server.
SYMSRV:  Closing the connection to the Server.
SYMSRV:  Successfully closed the connection to the Server.
SYMSRV:  Get File Path: /download/symbols/Accessibility.ni.pdb/7B46178957827CDAB7EE4C86EDEE1DAE1/Accessibility.ni.pdb

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

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

  1. Выясните, используете ли вы x86 или x64 версию Windows Performance Toolkit.

    Это легко на x86 сборках Windows. В сборках x64 вы можете проверить диспетчер задач на наличие тега * 32. Если его там нет, значит, вы работаете с версией x64.

    Обратите внимание, что WPT всегда устанавливается в Program Files (x86) независимо от архитектуры.

  2. Скопируйте файлы dbghelp.dll и symsrv.dll из правильного каталога отладчика в каталог Windows Performance Toolkit. В моей системе соответствующие каталоги:

    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 и C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit

  3. Перезапустите анализатор производительности Windows, чтобы выбрать правильную версию dbghelp.dll.

0

Во-первых, обзор и предоставленная информация очень информативны, однако обычно вы можете понять это с гораздо меньшим интеллектом! Я просто использовал MSCOFIG.EXE и бинарный поиск, чтобы изолировать сервис-нарушитель. Я обнаружил, что большинство подобных проблем вызвано программным обеспечением Intel. Я начинаю с отключения любого сервиса, который не имеет названия компании. Затем я начинаю на службах Intel. Тогда полный бинарный поиск. Обычно для решения проблемы на чьем-либо компьютере требуется не более часа. Intel никогда не была хорошей компьютерной компанией, и их программное обеспечение демонстрирует это. Посмотрим правде в глаза: архитектуре Pentium было десять лет, когда она была выпущена. Кто бы построил компьютерную архитектуру с постраничной памятью во времена VAX? Ну, я не буду утомлять вас историей. Не то чтобы я фанат AMD или Microsoft. Возможно, когда-нибудь мы вернемся к созданию настоящих компьютеров снова.

-1

У меня была такая же проблема, она исчезла, когда я удалил один из модулей оперативной памяти. Кажется, это было неисправно. Работает Windows 7, 32-битная.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .