Устранение проблем с высокой загрузкой ЦП процессом «Система»

99

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

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

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

введите описание изображения здесь

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

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

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

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

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

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

Имя устройства: TPLink WN722N

Скотт
источник
5
Если у вас запущен предварительный просмотр клиента, все не актуально ... Вы выполняете предварительный просмотр клиента.
Эверетт
@Everett Да, возможно, вы правы ... но все же это не должно произойти, даже если это предварительный просмотр для клиента (или выпуска).
Скотт
4
@ Скотт Да, такого рода вещи должны происходить в предварительном просмотре клиента. Я имею в виду, конечно, что лучше, если эти ошибки не существуют в первую очередь, но это одна из вещей, которую должен делать предварительный просмотр. Это возможность для пользователей увидеть новые функции и элементы пользовательского интерфейса немного раньше, а также проверить совместимость приложений, а также шанс для команд разработчиков получить обратную связь и найти ошибки от более широкой аудитории. Основная система еще не готова к использованию . Он не предназначен для использования в качестве основной системы, потому что он не полностью готов или отлажен. Если бы это было так, они бы пошли с RTM.
Джоэл Кохорн
1
используйте xperf, чтобы отследить это. Но, как сказали другие пользователи, прекратите использование CP. Срок действия всей предварительной версии истекает через 2 недели!
magicandre1981
1
Единственный способ помочь вам - это убедиться, что эта проблема существует в RTM-версии Windows 8. Вы не можете ожидать, что кто-нибудь поможет вам с проблемами, существующими в выпуске Preview. Я пошел дальше и обновил теги, чтобы они соответствовали вашей версии предварительного просмотра.
Ramhound

Ответы:

91

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

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

введите описание изображения здесь

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

введите описание изображения здесь

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

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

Грэм Вейджер
источник
Спасибо за ваш ответ. Пожалуйста, смотрите мой обновленный вопрос.
Скотт
2
@ Scott Я заметил, что вы сейчас обновляетесь; если после этого эта проблема все еще не решена, на сайте TPLink имеется бета-версия драйвера для Windows 8, которая может помочь. Его можно найти здесь: tp-link.com/en/support/download/…
Грэм
2
Кажется, что risdxc64.sys является обычным подозреваемым с ноутбуками Thinkpad, который является драйвером для кард-ридера, см., Например, здесь: forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/… - Я решил это путем переустановки последней один на победу 10
Патрик
У меня была похожая проблема в Windows 10. Для меня это был avc3.sys, который использовал много процессора. Оказывается, является частью Bitdefender Antivirus Free.
Бруно
2
@ Легенды, что вы использовали не тот инструмент. ProcExp показывает shapshot, который не так полезен. Я написал ответ о Windows Performance Toolkit, чтобы подробно показать, как анализировать использование процессора
magicandre1981
90

Для диагностики проблем использования ЦП следует использовать трассировку событий для 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

введите описание изображения здесь


В следующем примере загрузка ЦП определяется драйвером сети Broadcom 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 .

введите описание изображения здесь


В этом случае загрузка ЦП, судя по всему, происходит из Data DeduplicationFeature ( 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в версии .4574 для Intel HD 630 вызывает проблему:

введите описание изображения здесь

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


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

введите описание изображения здесь

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


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

введите описание изображения здесь

Это устройство чтения карт SD, похоже, встроено во многие устройства Lenovo.


Пользователь @stevemidgley показал новую проблему более высокой загрузки ЦП с Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk

введите описание изображения здесь

Здесь вы можете увидеть драйвер UDE.sys, вызывающий его.

В символьном центре

введите описание изображения здесь

Я вижу, что это относится к драйверу модема и данным трассировки PNP Fibocom L850-GL(модем LTE) как возможное устройство:

введите описание изображения здесь

И решение состоит в том, чтобы отключить модем и композитное устройство USB в диспетчере устройств.


magicandre1981
источник
6
Приятно!!! +1 .... За шипение
Сок Pimp IT
1
@stevemidgley FxUsbPipeRequestWorkItemThunk обрабатывает данные. Расширяйте стек больше. Также поделитесь файлом ETL. Композитное устройство USB может быть драйвером смартфона при подключении телефонов для передачи данных,
magicandre1981
1
@stevemidgley включить USB-устройство и записать трассировку, мне нужен файл ETL, чтобы увидеть больше деталей.
magicandre1981
1
@stevemidgley, которые являются необработанными данными USB, мне нужна трассировка загрузки процессора из моего ответа выше.
magicandre1981
1
@stevemidgley хорошо, похоже, что это вызывает драйвер UDE.sys. И из того, что я вижу, это относится к Fibocom L850-GL, который является вашим модулем LTE.
magicandre1981
4

Замечание о загрузке символов отладки для добавления к отличному ответу 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.

AronVanAmmers
источник
2
Вы должны добавить это к моему ответу как редактирование. это не реальный ответ
magicandre1981
0

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

Леонард Умина
источник
Вы понимаете, что VAX использует страничную память, верно? И почему бы вам не использовать страничную память сегодня?
Джейми Ханрахан
-1

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

Космин
источник