Compartilhar via


Alto uso da CPU no processo LSAISO no Windows

Este artigo fornece resoluções de um problema no qual o processo LSAISO experimenta alto uso da CPU em um computador que está executando o Windows.

Aplica-se a: Windows 10 - todas as edições, Windows 11 - todas as edições, Windows Server 2016, Windows Server 2019, Windows Server 2022
Número original do KB: 4032786

Sintomas

O processo LSAISO (LSA Isolado) experimenta alto uso da CPU em um computador que está executando Windows 10, Windows Server 2016 ou versões posteriores.

Motivo

No Windows, o processo LSAISO é executado como um processo de Modo de Usuário Isolado (IUM) em um novo ambiente de segurança conhecido como Modo de Segurança Virtual (VSM).

Aplicativos e drivers que tentam carregar uma DLL em um processo do IUM, injetar um thread ou fornecer um APC no modo de usuário podem desestabilizar todo o sistema. Essa desestabilização pode incluir o cenário de CPU LSAISO alto mencionado na seção "Sintomas".

Resolução 1: Use o processo de eliminação

É comum que alguns aplicativos (como programas antivírus) injetem DLLs ou enfileirem APCs no processo LSAISO. Isso faz com que o processo LSAISO experimente alto uso da CPU.

Para solução de problemas, não é possível anexar ferramentas a um processo do IUM. Isso impede que você use as Ferramentas de Depuração do Windows ou WPA\XPERF para capturar rastreamentos de pilha durante o pico de CPU LSAISO. Portanto, o melhor método de solução de problemas nesse cenário é usar a metodologia do "processo de eliminação". Para fazer isso, desabilite aplicativos e drivers até que o pico da CPU seja mitigado. Depois de determinar qual software está causando o problema, entre em contato com o fornecedor para obter uma atualização de software. Você pode fazer referência às recomendações de ISV listadas no seguinte tópico do MSDN:

Processos de modo de usuário isolado (IUM)

Observação

Esse método pode exigir uma reinicialização depois que você desabilitar o software e os drivers suspeitos enquanto você testa o pico da CPU.

Resolução 2: Verificar se há APCs enfileiradas

Baixe as ferramentas de depuração gratuitas para Windows (WinDbg, KD, CDB, NTSD). Essas ferramentas estão incluídas no WDK (Windows Driver Kit) e no WDK (Windows Driver Kit). Em seguida, siga estas etapas para determinar qual driver está enfileirando um APC para LSAISO:

  1. Enquanto você reproduz o pico de CPU, gere um despejo de memória do kernel usando uma ferramenta como NotMyFault.exe do seguinte site da Sysinternals:

    Pacote da Sysinternals

    Observação

    Um despejo de memória completo não é recomendado porque exigiria descriptografia se o VSM estivesse habilitado no sistema. Para habilitar o despejo de kernel, siga estas etapas:

    1. Abra o item Sistema no Painel de Controle e selecione Configurações avançadas do sistema.
    2. Na guia Avançado da caixa de diálogo Propriedades do sistema, selecione Configurações na área Inicialização e recuperação.
    3. Na caixa de diálogo Inicialização e Recuperação , selecione Despejo de memória do kernel na lista Gravar informações de depuração.
    4. Observe o local do arquivo de despejo a ser usado na etapa 5 e selecione OK.
  2. Abra a ferramenta WinDbg.exe nas Ferramentas de Depuração para Windows.

  3. No menu Arquivo, clique em Caminho do Arquivo de Símbolo, adicione o seguinte caminho para o Servidor de Símbolos da Microsoft à caixa Caminho do símbolo e selecione OK:
    https://msdl.microsoft.com/download/symbols

  4. No menu Arquivo, clique em Abrir Despejo de Memória.

  5. Navegue até o local do arquivo de despejo de kernel que você anotou na etapa 1d e selecione Abrir. Verifique a data no arquivo .dmp para certificar-se de que ele foi criado recentemente durante esta sessão de solução de problemas.

  6. Na janela Comando, digite !apc e pressione Enter.

    Captura de tela da caixa de comando do arquivo de despejo do kernel que mostra !apc.

    A saída deve ser semelhante à captura de tela a seguir.

    Captura de tela da saída do comando !apc. Neste exemplo, um driver chamado ProblemDriver.sys está listado em LsaIso.exe.

  7. Pesquise os resultados para LsaIso.exe. Se um driver chamado <ProblemDriver>.sys estiver listado em LsaIso.exe (conforme mostrado na captura de tela de exemplo da saída na etapa 6), entre em contato com o fornecedor e encaminhe-o para a mitigação recomendada listada no tópico Processos de IOM (Modo de Usuário Isolado ).

    Observação

    Se nenhum driver estiver listado em Lsaiso.exe, isso significa que o processo LSAISO não tem APCs enfileirados.

Mais informações

O VSM usa modos de isolamento conhecidos como VTL (Níveis de Confiança Virtual) para proteger processos IUM (também conhecidos como trustlets). Processos de IUM, como LSAISO, são executados em VTL1, enquanto outros processos são executados em VTL0. As páginas de memória dos processos executados no VTL1 são protegidas contra qualquer código mal-intencionado em execução no VTL0.

Antes do Windows 10 e do Windows Server 2016, o processo LSASS (Serviço de Subsistema de Autoridade de Segurança Local) era o único responsável por gerenciar a política do sistema local, a autenticação do usuário e a auditoria, além de lidar com dados de segurança confidenciais, como hashes de senha e chaves Kerberos.

Para usar os benefícios de segurança do VSM, o trustlet LSAISO executado no VTL1 se comunica por meio de um canal RPC com o processo LSAISO em execução no VTL0. Os segredos LSAISO são criptografados antes de serem enviados para o LSASS, e as páginas do LSAISO são protegidas contra qualquer código mal-intencionado em execução no VTL0.