
Por favor, informe o que pode estar causando o uso desnecessário da CPU descrito abaixo.
Sintomas:
- Quando o computador fica ocioso, um processo do sistema começa a consumir cerca de 30% da CPU. Se alguma tecla for pressionada ou o mouse for movido, isso para em um segundo. Isto é irritante, já que este é um notebook bastante fino e o resfriamento não foi projetado para alto uso sustentado da CPU e fica barulhento.
- Não acontece quando está na bateria.
- Não parece estar relacionado a antivírus ou indexação, pois possuem processos facilmente distinguíveis.
O que descobri até agora:
- O processo éSistema, o PID é sempre 4, a descrição éKernel e sistema NT.
Ao examinar esse processo comHacker de processos(clique com o botão direito/propriedades, depois na guia Threads), acontece que há um thread nele chamado
ntoskrnl.exe!_misaligned_access+0x3f0
que é responsável por todo esse uso desnecessário da CPU. O mesmo pode ser encontrado com outros aplicativos exploradores de processos. O endereço no nome do processo muda a cada reinicialização, mas permanece o mesmo entre elas.- Na verdade, existem vários threads com essas propriedades, mas sempre os mesmos utilizam a CPU (mesmo PID).
Clique com o botão direito e inspecione para obter esta pilha para este tópico
0, ntoskrnl.exe!KeIsAttachedProcess+0x92e
1, ntoskrnl.exe!KeWaitForMultipleObjects+0x140f
2, ntoskrnl.exe!KeWaitForMultipleObjects+0xcb9
3, ntoskrnl.exe!_misaligned_access+0x5fd
4, ntoskrnl.exe!RtlGetCompressionWorkSpaceSize+0x1f0
5, ntoskrnl.exe!KeSynchronizeExecution+0x59d6
Há uma guia Handles na janela de propriedades do mesmo processo. Existe esta linha, que pode estar conectada ao thread acima, já que o identificador é o mesmo que o endereço no thread com comportamento incorreto:
- Tipo: SymbolicLink, Nome: \GLOBAL??\USB#VID_8087&PID_8000#5&47f868&0&1#{f18a0e88-c30c-11d0-8815-00a0c906bed8}, Alça: 0x3f0
Procurei o dispositivo (VID 8087 e PID 8000) no gerenciador de dispositivos e é o Intel Generic USB Hub
Não tenho mais ideia do que procurar.
Detalhes do ambiente:
- Dell E7440, comalgunsdas toneladas de software da Dell instaladas. Eu sei que o problema pode ser a falta de algum componente/driver, mas ainda não quero instalar todos os itens listados possíveis. O gerenciador de dispositivos não mostra nenhum dispositivo sem drivers.
- Windows 8.1 Enterprise 64 bits, não hackeado, com todas as atualizações possíveis. Instalado há cerca de um mês a partir da iso oficial, não há muita porcaria instalada nele, nenhum erro ou BSODs desde então.
- Sem antivírus, além do Security Essentials integrado ao Windows.
Responder1
O uso da CPU ocorre por design. Vem da função ntoskrnl.exe!RtlScrubMemory
/ ntoskrnl.exe!RtlpGenericRandomPatternWorker
/ ntoskrnl.exe!RtlpTestMemoryRandomUp
.
Esta função grava padrões aleatórios na RAM para testar erros na RAM. O Windows faz isso durante a tarefa de manutenção ociosa para otimizar o Windows (limpeza do WinSxS, otimização de arquivos .net com ngen)
Execute o Agendador de Tarefas, vá para Microsoft -> Windows -> Agendador de Tarefas, selecione Idle Maintenance
,
clique com o botão direito e selecione disable
.
Responder2
Infelizmente eu não tinha essa configuração no Agendador de tarefas, então não tinha nada para desabilitar. (Estou no Windows 10 b1607)
Mas o que realmente ajudou foi adicionar um valor DWORDManutenção desativada com valor1para esta chave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance
Depois disso, meu uso ocioso da CPU parou de ser alto.
Você pode ver mais detalhes aqui: https://www.tenforums.com/tutorials/40119-enable-disable-automatic-maintenance-windows-10-a.html