Percebi que há algum tempo meu sistema está travando e isso provavelmente é causado pelo alto uso da CPU causado pelo processo do sistema.
Todos os aplicativos que estou executando são Skype, TeamSpeak e Chrome, então definitivamente não deveria consumir tanta CPU.
Você pode ver o problema em si e os processos em execução na captura de tela abaixo:
Às vezes, o uso da CPU chega a 90%, mas o uso médio é de 40 a 65%.
Parâmetros do meu PC:
- Windows 8 (visualização do cliente)
- Intel Core i3-2350M
- 8 GB de RAM
Eu apreciaria qualquer tentativa de ajuda! Cumprimentos.
--ATUALIZAR--
Como o usuário abaixo postou uma ótima resposta, notei que o processo que está consumindo mais CPU do sistema se chama Arthurx.sys
, simples google diz que é um driver TPLink (um adaptador wifi, comprei há 2 semanas!) drivers foi instalado a partir do Windows MSDN, mas também tentou instalar os drivers do CD anexado, mas não adiantou. Desde o início do sistema, ele está usando apenas 5% da CPU, mas após 2 a 4 horas de trabalho ele está crescendo e atingindo 40 a 60% do uso da CPU.
Nome do dispositivo:TPLink WN722N
Responder1
Introdução
O alto uso da CPU pelo processo "Sistema" muitas vezes pode ser causado por um problema de driver de hardware (bug, versão antiga, incompatibilidade, etc.).
O processo do sistema carrega (ou hospeda) vários drivers de hardware de diferentes fornecedores que exigem um nível mais alto de acesso à memória. É por isso que diagnosticar o culpado específico pode exigir um pouco de trabalho de detetive, conforme descrito abaixo.
Diagnosticando o problema
Para diagnosticar os problemas de uso da CPU, você deve usar o Rastreamento de Eventos para Windows (ETW) para capturar dados/perfil de amostragem de CPU.
Para capturar os dados,instale o kit de ferramentas de desempenho do Windows, que faz parte doSDK do Windows.
O Windows 10 WPT pode ser usado no Windows 8/Server 2012, Windows 8.1/Server 2012R2 e Windows 10/Server 2016. Se você ainda usa o Windows 7, use oSDK/WPT com compilação 15086.
(todas as outras entradas podem ser desmarcadas)
Agora execute WPRUI.exe
, selecione First Level
, em Seleção de recursosutilização do CPUe clique emcomeçar.
Agora capture 1 minuto do uso da CPU. Após 1 minuto, clique emSalvar.
Agoraanalise o arquivo ETL gerado com o Windows Performance Analyzerarrastando e soltando o CPU Usage (sampled)
gráfico analysis pane
e ordenando as colunas como você vê na imagem:
Dentro do WPA,carregue os símbolos de depuraçãoe expanda Pilha do processo SYSTEM. Nesta demonstração, o uso da CPU vem do driver nVIDIA.
Na demonstração a seguir, o uso da CPU vem do driver NIC Realtek:
Quando você vê chamadas comontoskrnl.exe!ViKeTrimWorkerThreadRoutine, ntoskrnl.exe!MmVerificadorTrimMemory, ntoskrnl.exe!VerificadorKeLeaveCriticalRegião, isso significa que você ativou o Verificador de driver. Isso também prejudica muito o desempenho e causa alto uso do SISTEMA.Desativar verificador de drivere reinicie.
Nesta demonstração, o driver iai2ce.sys
(driver do controlador Intel Serial IO GPIO) causa isso:
Neste exemplo, o uso da CPU vem do arquivo rtsuvc.sys
que parece ser oRealtek UVC webcam Driver
Esta demonstração mostra que o driver Bitdefenderignis.sys
No exemplo a seguir, o uso da CPU é causado pelo driver de rede broadcombcmwl664.sys
Quando você vê ntoskrnl.exe!MiZeroWorkerPages
como causa, é mais complicado. Isso significa que a função do kernel que zera a memória antes que ela possa ser usada novamente causa alto uso da CPU:
Não há uma maneira real de detectar qual processo está causando isso, mas sei que o Chrome pode causar isso se você tiver a aceleração de hardware ativada no Chrome. Portanto, se você vir isso e usar o Chrome, desative a aceleração de hardware no Chrome.
Quando você vê aquelesntoskrnl.exe!RtlpGenericRandomPatternWorker, ntoskrnl.exe!RtlpTestMemoryRandomUpchamadas
o uso da CPU vem do Kernel para testar problemas de memória (memtest). Esse uso é acionado por meio da tarefa de manutenção ociosa do Windows 8.1/10. Você pode usar o Agendador de tarefas para desativar a tarefa ociosa.
No Windows 10, a tarefa é chamada RunFullMemoryDiagnostics emMicrosoft > Windows > MemoryDiagnostic > RunFullMemoryDiagnostic.
Neste caso, o uso da CPU parece vir do Data Deduplication
Recurso ( dedup.sys!DdpPostCreate
) do Windows Server:
Nesta demonstração, o uso da CPU é causado pelo driver da placa WIFIathrx.sys
Procure uma atualização de driver se você vir isso.
Na demonstração a seguir, um driver Citrix está envolvido:
Portanto, entre em contato com sua TI para saber como resolver problemas da Citrix.
Nesta demonstração, a função usbhub.sys!UsbhPortRecycle
causa o uso da CPU:
Alterando as portas USB 2.0 para velocidade 1.1ou conectar unidades USB a outras portas USB 2.0 ajudou alguns usuários.
Neste caso, uma pequena quantidade de uso do SYSTEM vem do driver Acronis tdrpm251.sys
:
Nesta demonstração, o uso da CPU ntoskrnl.exe!KeAcquireSpinLockRaiseToDpc
e do ntoskrnl.exe!KeReleaseSpinLock
.
então um driver está usandoSpinLocksmuito fortemente. Desative alguns dispositivos/drivers até encontrar um que cause isso.
Neste caso, o uso da CPU é causado pelo driverL1C62x64.sys
Este é o qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet
motorista. Portanto, atualize o driver se você o vir na pilha.
Aqui, o uso da CPU vem da verificação do arquivo host (netbt.sys!DelayedScanLmHostFile)
certifique-se de que seu arquivo hosts não seja muito grande para evitar esse uso.
Nesse caso, o uso da CPU vem SRTSP64.SYS
da Symantec.
Atualize seu produto Symantec usado para a versão mais recente.
Aqui, o uso da CPU vem do driver AMD GPU (atikmdag.sys)
se você vir isso, acesse o site da AMD e obtenha o driver mais recente para sua placa AMD.
Aqui, os drivers TMXPFlt.sys e VsapiNt.sys causam alto uso da CPU.
Pelo que vejo, esses arquivos fazem parte do pacote Trend Micro AV. Atualize a ferramenta ou remova-a.
Neste exemplo, o uso da CPU vem da funçãontoskrnl.exe!MmGetPageFileInformation
Esta função obtém informações sobre o arquivo de paginação.
Descrição da rotina: esta rotina retorna informações sobre os arquivos de paginação atualmente ativos.
Desative o arquivo de paginação, reinicie e ative-o novamente e veja se isso resolve o problema. Além disso, removendo serviços Intel (por exemplo, serviço Intel Content Protection HECI)parece ter corrigido isso para um usuário.
Aqui você pode ver que o driver Netwtw04.sys
(driver Intel Wifi) chama a função flushCompleteAllPendingFlushRequests
e isso causa um alto uso da CPU.
Como os símbolos de depuração são carregados, o driver da caixa de entrada do Windows é usado. Somente aqui podemos obter símbolos de depuração para ver a pilha de chamadas com o nome da função flushCompleteAllPendingFlushRequests
.
Aqui, você deveinstale o driver mais recente da Intelpara fixar isso.
O caso mais complicado de uso do SYSTEM é o uso do ACPI.sys na pilha de chamadas:
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
isso é extremamente difícil de depurar. Em umtópico sysinternals, listei alguns conselhos:
- certifique-se de que a CPU não superaqueça por causa da poeira na ventoinha da CPU
- atualizar ou atualizar novamente o (mesmo) BIOS/UEFI
- carregar configurações padrão de BIOS/UEFI
- certifique-se de que a bateria não esteja danificada, remova a bateria do notebook ou desative a bateria no gerenciador de dispositivos.
- mudar jumper no caddy HDDse você substituiu a unidade de DVD/Blue-Ray por um Caddy para instalar um SSD próximo ao seu HDD antigo
- desativar alguns dispositivosconforme recomendado por este usuário
- se você usa um chipset Intel, tente instalarTecnologia de armazenamento Intel Rapid (RST)para substituir o driver AHCI padrão do Windows. Isso tambémparece que ajudou.
- o usuárioShayna descobrir, que usandoProcess Hacker (iniciado como administrador)suspender os threads dos problemas do ACPI.sys "corrige" o problema para ele. Portanto, tente a solução alternativa se todas as outras etapas não resolverem o problema para você.
Na demonstração a seguir, o driver Intel HD igdkmd64.sys
na versão .4574 para Intel HD 630 causa o problema:
A solução éatualizar para drivercom versão de pelo menos .4590.
No caso a seguir, o uso da CPU do processo SYSTEM é causado pelo driverstdriverx64.sys
Isto parece ser umdriver de streaming de áudio. Portanto, atualize este software/driver se você vir isso no WPA.
Se você vir um driver chamado risdxc64.sys
na pilha de chamadas do SYSTEM que causa alto uso da CPU, atualize oControlador host Ricoh PCIe SDXC/MMCdriver ou desative o leitor de cartão SD no gerenciador de dispositivos se nenhuma atualização de driver corrigir o problema.
Este leitor de cartão SD parece estar integrado em muitos dispositivos Lenovo.
O usuário @stevemidgley mostrou um novo problema de maior uso de CPU comWdf01000.sys!FxSystemWorkItem::_WorkItemThunk
Aqui você pode ver um driver UDE.sys causando isso.
No centro de símbolos
Posso ver que ele pertence ao driver do modem e os dados PNP do rastreamento mostram Fibocom L850-GL
(modem LTE) como dispositivo possível:
E a solução é desabilitar o modem e o dispositivo composto USB no gerenciador de dispositivos.
O usuário@fajarforneceu o seguinte caso:
Aqui o uso da CPU é pequeno, mas se você alterar a visualização para uso de DPC/ISR
você pode ver que o driver avgNetHub.sys causa muito uso de DPC
O nome indica que este driver faz parte do software antivírus AVG. Portanto, atualize o software ou remova-o se notar isso em seu rastreamento.
Responder2
Isso pode ser causado por um driver com defeito ou outro módulo carregado pelo sistema. Para examinar o processo do sistema, você pode usar uma ferramenta comoExplorador de processos.
Baixe e execute-o, selecione o processo do sistema, clique com o botão direito e selecione Propriedades:
Mude para a guia Threads (ignore a caixa de diálogo que menciona símbolos):
Isso mostrará qual arquivo está usando uso excessivo da CPU, a partir do qual você poderá tentar diagnosticá-lo.
No entanto, como outros disseram nos comentários, você realmente precisa se afastar das versões Preview o mais rápido possível!
Responder3
Uma observação sobre o carregamento de símbolos de depuração para adicionarExcelente resposta de magicandre1981: se o carregamento dos símbolos no Windows Performance Analyzer funcionar corretamente, após marcarTraçar > Carregar Símbolosvocê deverá ver uma barra de progresso na parte superior comCarregando símbolosque mostra os nomes dos arquivos ao lado e leva vários minutos para ser concluído. Além disso, você deverá ver muitas linhas como a abaixo no Console de diagnóstico:
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
Se você não vir nenhum desses, o carregamento dos símbolos de depuração provavelmente não funcionou e você não conseguirá interpretar adequadamente o seu rastreamento.
No meu caso, carregar inicialmente símbolos de depuração não funcionou. Eu consertei seguindoestas instruções:
Descubra se você está usando a versão x86 ou x64 do Windows Performance Toolkit.
Isso é fácil em versões x86 do Windows. Em compilações x64, você pode verificar no Gerenciador de Tarefas a tag *32. Se não estiver lá, você está executando a versão x64.
Observe que o WPT sempre é instalado em Arquivos de Programas (x86), independentemente da arquitetura.
Copie os arquivos
dbghelp.dll
esymsrv.dll
do diretório do depurador correto para o diretório Windows Performance Toolkit. No meu sistema, os diretórios relevantes são:
C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
eC:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit
Reinicie o Windows Performance Analyzer para que a versão correta de dbghelp.dll seja escolhida.
Responder4
Responderadicionado por@magicandre1981é a chave para resolver qualquer problema. Meu caso não estava listado lá, mas encontrei uma palavra semelhante na pilha descrita na The most complicated case of SYSTEM usage is ACPI.sys usage in the callstack:
seção. No meu caso, a instalação Intel Rapid Storage
do driver foi ajudada. Eu não esperava isso, pois todos estavam trabalhando há muito tempo sem esse driver e sem problemas de CPU. Coloquei minha pilha aqui, provavelmente alguém encontrará esta resposta por palavras-chave semelhantes.
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
Atualizar:Infelizmente o problema voltou. Depois de reiniciar o PC funciona bem por algum tempo, mas o mesmo vazamento de CPU aparece com a mesma pilha