Sistema Windows 10 (ntoskrnl.exe) usando CPU quando a máquina fica ociosa por um tempo

Sistema Windows 10 (ntoskrnl.exe) usando CPU quando a máquina fica ociosa por um tempo

Percebi que a CPU do meu laptop começa a ser usada (talvez 15% de uso?) E a ventoinha da CPU liga, geralmente à noite, quando meu laptop fica ocioso por cerca de 5 minutos. O processo usando a CPU Systemnão me diz muito, então decidi deixar o Process Explorer rodando e monitorando threads para System. Ele começou a usar CPU novamente e foi isso que encontrei:

Sistema Explorador de Processos

O thread que consumia a CPU após alguns minutos de inatividade tinha o endereço inicial ntoskrnl.exe!RtlAvlRemoveNode+0x7ba0. Portanto, parece bastante essencial para o sistema. Alguém sabe o que pode estar causando isso e/ou como eu poderia diagnosticar melhor? Não gosto da ventoinha da CPU girando assim e gostaria de impedir que o sistema faça isso.

Eu até desabilitei todas as tarefas agendadas que são acionadas no modo inativo (encontrando-as com o PowerShell Get-ScheduledTask | Where-Object { $_.State -ne "Disabled" } | Select-Object TaskName, TaskPath, Triggers | Where-Object { $_.Triggers -match "MSFT_TaskIdleTrigger" }) e isso ainda acontece.

Responder1

O endereço inicial do tópico menciona RtlAvlRemoveNode. Isto é umfunçãochamado através do ntoskrnl.exe. Rtl significa Run-Time Library, portanto (provavelmente e sem aprofundar o assunto) ele é chamado por meio de um aplicativo nativo (que seria, por exemplo, o programa autochk). Se você quiser saber mais sobre o histórico, há muitas informações sobreesse site. Porém é apenas o endereço inicial, não é necessária esta função que causa o uso do tempo de CPU. Pressione o botão "pilha" para ver a pilha completa de chamadas ou use ferramentas de terceiros comoProcessThreadsView.

Você tem duas opções básicas:

  • A abordagem de trilha e erro: você desativa aplicativos, por exemplo, por meio do Agendador de tarefas/modo de segurança, etc., na esperança de desativar o aplicativo correto. (Os aplicativos podem ser protetor de tela, desfragmentação, índice de pesquisa, etc. provavelmente, mas não necessariamente algo que é acionado pelo PC estar ocioso)

  • A abordagem analítica: você executa análises adicionais para identificar o problema, por exemplo, analisando melhor o thread em questão ou usando o "Windows Performance Toolkit" para identificar melhor o aplicativo que causa o uso da CPU

Como a abordagem analítica tem muita sobrecarga - em termos de conhecimento - eu sugeriria a abordagem de trilha e erro. Embora seja apenas uma suposição fundamentada, é provável que você não seja o único com o problema, portanto, tentar as soluções mais comuns deve ser uma boa abordagem.

Se você não chegar a lugar nenhum por trilha e erro, terá que mudar para uma abordagem mais analítica. Como HoD sugeriu em seu comentário,Kit de ferramentas de desempenho do Windowsé um bom próximo passo aqui. Assim que tiver mais informações ou tiver problemas específicos, você poderá especificar melhor sua dúvida para que possamos ajudá-lo.

Também existe a chance de esse comportamento ser causado por algo como malware, bugs, atualizações problemáticas, etc. leve isso em consideração, especialmente se você usar o método de trilha e erro.

Responder2

Os subsistemas chamados que posso identificar na sua pilha de chamadas são:

  • MMCSS-mmcss.sys
  • DirectX 12dxgmms2.sys

É possível ver outras chamadas de funções utilitárias de baixo nível, mas não sabemos quem são seus chamadores, portanto elas não acrescentam muita informação. Os subsistemas de alto nível claramente indicados aqui são MMCSS e DirectX 12:

  • Serviço de agendador de aulas multimídia (MMCSS): permite que aplicativos multimídia tenham acesso priorizado aos recursos da CPU.
  • DirectX12: software Windows que funciona diretamente com seu hardware de vídeo e áudio.

Fica portanto claro que o que está ocupando sua CPU é uma aplicação que possui um componente gráfico. Este componente GUI pode ou não ser responsável pela carga da CPU, mas a conclusão importante aqui é que o aplicativo em questão possui uma GUI.

Um aplicativo gráfico nunca é iniciado pelo Agendador de Tarefas, portanto esta não é a direção a seguir. Você precisa encontrar um aplicativo gráfico que seja acionado por uma condição ociosa.

O candidato mais óbvio é um protetor de tela. Eu sugeriria desligá-lo como um teste:

  • Clique com o botão direito na área de trabalho e escolha Personalizar > Tela de bloqueio > Configurações de proteção de tela, defina (None)como proteção de tela e clique em OK.
  • Em vez disso, você poderia, em Painel de controle> Opção de energia> Alterar as configurações do plano, definir "Desligar a tela" para ter pelo menos uma tela em branco.

Se isso não ajudar, você precisará encontrar outro aplicativo gráfico instalado que faça algo diferente no modo inativo.

Responder3

São apenas as tarefas de manutenção do Windows 10 que são iniciadas depois que o sistema fica ocioso por um tempo.

informação relacionada