Guia de tecnologias

Como corrigir Serviço de Otimização do Tempo de Execução do .NET consumindo CPU alta no Windows 10

6 min read Windows Atualizado 18 Oct 2025
Corrigir .NET Runtime Optimization com CPU alta
Corrigir .NET Runtime Optimization com CPU alta

Tela do Windows 10 mostrando o Gerenciador de Tarefas

O .NET Runtime Optimization Service (frequentemente visto como mscorsvw.exe no Gerenciador de Tarefas) pré-compila assemblies .NET para acelerar o lançamento de apps. Normalmente a carga de CPU é temporária. Quando o uso permanece alto por longos períodos, isso impacta o desempenho do PC e indica um problema: filas não processadas, instalação corrompida do .NET, atualizações pendentes ou, em casos raros, malware que se disfarça de serviço.

Neste guia você encontrará passos práticos, alternativas e um playbook que serve tanto para usuários quanto para administradores de TI.

O que é este serviço (1 linha)

Serviço que executa o compilador NGen para otimizar assemblies .NET e reduzir o tempo de inicialização de aplicações.

Quando isto é um problema

  • Uso de CPU constante alto (>25–30%) por mais de 10–15 minutos.
  • Interrupção ou lentidão perceptível em outras tarefas.
  • Mensagens de erro relacionadas a .NET em logs do Windows Event Viewer.

Verificações iniciais rápidas

  • Abra o Gerenciador de Tarefas e confirme o processo: mscorsvw.exe. Veja se o consumo é realmente dele.
  • Verifique se o SO é 32 ou 64 bits: Configurações > Sistema > Sobre.
  • Reinicie o PC para confirmar se o problema reaparece.

Captura do .NET Runtime Optimization Service consumindo CPU

Métodos para corrigir

1) Escaneie por malware

Importante: malware pode se passar por processos legítimos. Use um antivírus atualizado (Windows Defender ou outro confiável) e faça uma verificação completa do sistema.

Notas:

  • Se o antivírus encontrar ameaças, trate-as antes de prosseguir.
  • Isolar o PC da rede pode ser prudente em ambientes corporativos.

2) Forçar o processamento das filas do NGen (CMD)

Este é o procedimento típico para esvaziar filas do compilador.

Passos:

  1. Digite cmd na barra de pesquisa do Windows e execute o Prompt de Comando como administrador.
  2. Se o seu sistema for 32 bits, navegue para:
C:\Windows\Microsoft.NET\Framework\v4.0.30319
  1. Se o seu sistema for 64 bits, navegue para:
C:\Windows\Microsoft.Net\Framework64\v4.0.30319
  1. Execute o utilitário NGen para processar as filas:
ngen.exe executequeueditems

Resultado esperado: o comando processa os itens pendentes e reduz o uso de CPU do mscorsvw.exe. Se aparecerem erros, anote-os para investigar.

3) Reiniciar o serviço que controla telemetria (quando relacionado com drivers como NVIDIA)

Alguns relatos mostram conflito entre telemetria de drivers e tarefas de otimização. Verifique apenas se fizer sentido para o seu caso.

Passos:

  1. Pressione tecla Windows+R para abrir Executar.
  2. Digite services.msc e pressione Enter.
  3. Localize o serviço relevante (p.ex. NVIDIA Telemetry Container), clique com o botão direito e selecione Reiniciar.
  4. Abra Propriedades desse serviço e defina Tipo de inicialização como Automático se quiser que ele reinicie com o Windows.

Observação: reiniciar serviços de hardware deve ser feito com cautela em máquinas de produção.

4) Executar script oficial da Microsoft (quando disponível)

Passos gerais:

  1. Acesse a página oficial do script no GitHub. Prefira repositórios da própria Microsoft.
  2. Clique com o botão direito em Raw e selecione Salvar link como. Salve como arquivo de script do Windows.
  3. Execute o arquivo com o Windows Script Host ou via PowerShell conforme instruções do repositório.

Importante: abra apenas scripts de fontes verificadas. Revise o conteúdo do script antes de executar.

5) Reparar arquivos do sistema (SFC e DISM)

Se a instalação do Windows ou componentes do .NET estiverem corrompidos, repare-os:

Abra Prompt de Comando como administrador e execute:

sfc /scannow

Se SFC reportar problemas não corrigidos, execute:

DISM /Online /Cleanup-Image /RestoreHealth

Reinicie e verifique novamente o uso da CPU.

6) Atualizar / reinstalar .NET Framework

  • Remova atualizações problemáticas via Windows Update.
  • No Painel de Controle > Programas e Recursos > Ativar ou desativar recursos do Windows, desmarque e reative versões do .NET (com cuidado).
  • Use instaladores oficiais da Microsoft para reparar ou reinstalar versões específicas do .NET.

7) Logs e diagnóstico avançado

  • Abra o Visualizador de Eventos (Event Viewer) e filtre por Application / System para erros relacionados a .NET ou mscorsvw.
  • Use Process Explorer (Sysinternals) para ver a linha de comando completa do processo.
  • Em casos corporativos, verifique políticas de grupo que possam acionar tarefas de manutenção.

Alternativas e quando isso pode falhar

  • Se o problema for malware, apenas forçar NGen não resolve. Faça limpeza completa.
  • Em sistemas com muitos assemblies personalizados (servidores com apps .NET), a tarefa de otimização pode demorar; nesse caso, planeje execução em janela de manutenção.
  • Em sistemas muito antigos, considere atualizar para uma versão mais nova do .NET ou migrar a aplicação para .NET Core/.NET 5+ para obter melhores tempos de compilação.

Mini playbook (SOP) — passo a passo para resolver

  1. Verifique no Gerenciador de Tarefas: confirme processo e consumo. 2. Faça scan antimalware completo. 3. Execute ngen.exe executequeueditems conforme arquitetura. 4. Rode sfc /scannow e DISM se necessário. 5. Se ainda houver problema, aplique script oficial da Microsoft. 6. Reinstale/repse .NET como último recurso.

Fluxo de decisão (Mermaid)

flowchart TD
  A[Alto uso de CPU pelo mscorsvw.exe?] -->|Não| B[Fim: comportamento normal]
  A -->|Sim| C[Executar scan antimalware]
  C --> D{Ameaça encontrada?}
  D -->|Sim| E[Remover ameaça e reiniciar]
  D -->|Não| F[Executar ngen.exe executequeueditems]
  F --> G{Uso caiu?}
  G -->|Sim| H[Fim: monitorar]
  G -->|Não| I[Executar SFC/DISM]
  I --> J{Corrigido?}
  J -->|Sim| H
  J -->|Não| K[Aplicar script oficial / reinstalar .NET]
  K --> L[Fim: se falhar, escalar para suporte]

Checklist por função

Usuário doméstico:

  • Reiniciar PC.
  • Executar verificação completa com antivírus.
  • Rodar comando NGen apropriado.
  • Rodar sfc /scannow e reiniciar.

Administrador de TI:

  • Checar Event Viewer e logs centralizados.
  • Verificar políticas de atualização e GPOs que afetem o .NET.
  • Planejar janela para executar otimizações em várias máquinas.
  • Validar assinaturas digitais dos binários .NET e scripts.

Critérios de aceitação

  • Uso de CPU do processo mscorsvw.exe volta a níveis baixos (<10–15%) em 30 minutos após aplicar correção.
  • Não há mensagens de erro relacionadas a .NET no Event Viewer após reinício.
  • Nenhum antivírus reporta ameaças persistentes.

Dicas finais e segurança

  • Nunca execute scripts desconhecidos sem revisão. Prefira soluções e downloads oficiais da Microsoft.
  • Em máquinas críticas, execute as ações em janela de manutenção. Faça backup antes de reinstalar componentes do sistema.

Resumo: a solução típica é escanear por malware, processar as filas do NGen (ngen.exe executequeueditems), e reparar arquivos do sistema se necessário. Se nada resolver, use scripts oficiais ou reinstale o .NET. Aplique o playbook e use o checklist para documentar a intervenção.

Mais como este:

  • How to Fix Video_Dxgkrnl_Fatal_Error Easily in Windows 10
  • How to Enable Group Policy Editor (gpedit.msc) in Windows 10 Home
  • How to Fix ‘Kmode_Exception_Not_Handled’ on Windows 10
  • How to Fix Microsoft Compatibility Telemetry High Disk Usage in Windows 10

Important: se precisar, anote erros específicos do Event Viewer e consulte o suporte técnico com essas informações.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE