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

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

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

Все приложения, которые я запускаю, это 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

решение1

Введение

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

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

Диагностика проблемы

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

введите описание изображения здесь (все остальные записи можно не выбирать)

Теперь запустите WPRUI.exe, выберите First Level, в разделе «Ресурс» выберитеиспользование процессораи нажмите наначинать.

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

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

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

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

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


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

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


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

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


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

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


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

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


Эта демонстрация показывает, что драйвер Bitdefenderignis.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 > ВыполнитьFullMemoryDiagnostic.

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


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

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


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

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

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


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

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

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


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

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

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


В этом случае небольшое количество ресурсов SYSTEM используется драйвером Acronis tdrpm251.sys:

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


В этой демонстрации загрузка ЦП ntoskrnl.exe!KeAcquireSpinLockRaiseToDpcи ntoskrnl.exe!KeReleaseSpinLock.

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

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


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

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

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


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

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

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


В этом случае данные об использовании ЦП взяты SRTSP64.SYSиз Symantec.

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

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


Здесь загрузка ЦП осуществляется драйвером графического процессора AMD (atikmdag.sys)

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

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


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

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

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


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

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

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

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

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


Здесь вы можете видеть, что драйвер 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 привод на Caddy для установки SSD рядом со старым HDD

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


В следующей демонстрации драйвер 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-устройство в диспетчере устройств.


Пользователь@фаджарпри условии следующего случая:

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

Здесь загрузка процессора невелика, но если изменить вид на использование DPC/ISR

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

вы можете видеть, что драйвер avgNetHub.sys вызывает большое использование DPC

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

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


решение2

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

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

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

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

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

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

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

решение3

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

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. Выясните, какую версию Windows Performance Toolkit вы используете — x86 или x64.

    Это легко сделать на сборках 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.

решение4

ОтвечатьДобавлено@magicandre1981является ключом к решению любой проблемы. Мой случай не был там указан, но я нашел похожее слово в стеке, описанном в The most complicated case of SYSTEM usage is ACPI.sys usage in the callstack:разделе. В моем случае установка Intel Rapid Storageдрайвера помогла. Я не ожидал этого, поскольку все работали долгое время без этого драйвера и без каких-либо проблем с процессором. Я выложил свой стек здесь, возможно, кто-то найдет этот ответ по похожим ключевым словам.

Line #, Process, Stack, Count, Weight (in view) (ms), TimeStamp (s), % Weight
3, , [Root], 45104, 45,300.439000, , 16.21
4, ,   ntoskrnl.exe!KiStartSystemThread, 45104, 45,300.439000, , 16.21
5, ,   ntoskrnl.exe!PspSystemThreadStartup, 45104, 45,300.439000, , 16.21
6, ,   |- ntoskrnl.exe!SMKM_STORE_MGR<SM_TRAITS>::SmCompressCtxWorkerThread, 38830, 38,997.540000, , 13.95
7, ,   |    |- ntoskrnl.exe!SMKM_STORE_MGR<SM_TRAITS>::SmCompressCtxProcessEntry, 38708, 38,874.943400, , 13.91
8, ,   |    |    |- ntoskrnl.exe!memcpy, 33888, 34,032.390100, , 12.18
9, ,   |    |    |    |- ntoskrnl.exe!memcpy<itself>, 33655, 33,795.069100, , 12.09
10, ,   |    |    |    |- ntoskrnl.exe!KiDpcInterrupt, 228, 232.331300, , 0.08
11, ,   |    |    |    |- ntoskrnl.exe!KiInterruptDispatchNoLockNoEtw, 4, 3.989700, , 0.00
12, ,   |    |    |    |- ntoskrnl.exe!KiInterruptDispatch, 1, 1.000000, , 0.00
13, ,   |    |    |- ntoskrnl.exe!RtlCompressBuffer, 2571, 2,585.541600, , 0.93
14, ,   |    |    |- ntoskrnl.exe!SMKM_STORE_MGR<SM_TRAITS>::SmCompressCtxProcessReadyQueue, 2015, 2,022.554900, , 0.72
15, ,   |    |    |- ntoskrnl.exe!MmBuildMdlForNonPagedPool, 129, 129.294600, , 0.05
16, ,   |    |    |- ntoskrnl.exe!SMKM_STORE_MGR<SM_TRAITS>::SmCompressCtxProcessEntry<itself>, 63, 62.901700, , 0.02
17, ,   |    |    |- ntoskrnl.exe!ExAcquireSpinLockExclusive, 31, 31.208200, , 0.01
18, ,   |    |    |- ntoskrnl.exe!MetroHash64::Hash, 10, 10.033100, , 0.00
19, ,   |    |    |- ntoskrnl.exe!KiDpcInterrupt, 1, 1.019200, , 0.00
20, ,   |    |- ntoskrnl.exe!SMKM_STORE_MGR<SM_TRAITS>::SmCompressCtxWorkerThread<itself>, 78, 78.477100, , 0.03
21, ,   |    |- ntoskrnl.exe!ExAcquireSpinLockExclusive, 39, 39.068100, , 0.01
22, ,   |    |- ntoskrnl.exe!KeWaitForSingleObject, 5, 5.051400, , 0.00
23, ,   |- ntoskrnl.exe!SMKM_STORE<SM_TRAITS>::SmStWorkerThread, 5420, 5,445.923200, , 1.95
24, ,   |- ntoskrnl.exe!SmKmStoreHelperWorker, 495, 496.265200, , 0.18
25, ,   |- ntoskrnl.exe!SMKM_STORE<SM_TRAITS>::SmStReadThread, 359, 360.710600, , 0.13
26, , n/a, 16760, 16,773.871200, , 6.00

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

Связанный контент